0

このコードで、他のオブジェクトから UIViewController の KVO によるインターフェイスの向きを観察しようとしています:

[((UIViewController *)self.delegate) addObserver:self forKeyPath:@"interfaceOrientation" options:NSKeyValueObservingOptionNew context:NULL];

関数の実装:

-(void)observeValueForKeyPath:(NSString*)keyPath ofObject:(id)object change:(NSDictionary*)change context:(void*)context 
{
 if ([keyPath isEqual:@"interfaceOrientation"]) 
  {
    // do something    
  }
}

このメソッドは初回のみ呼び出されますが、電話を回転させている間にデリゲートのプロパティ interfaceOrientation が変化することがわかります。

なんで?

助けてください !

ありがとう!!!!

4

1 に答える 1

1

なぜKVOでこれを行うのですか?UIViewControllersには、これに対するサポートが組み込まれています。見る

  //iOS6 only
 - (BOOL)shouldAutomaticallyForwardRotationMethods
 {
    return YES;
 }

そしてまたaddChildViewController:

于 2013-03-14T20:27:56.633 に答える