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 回答