KVO - 界面定向属性

时间:2013-03-14 14:32:29

标签: ios uiinterfaceorientation key-value-observing

我正试图通过以下代码观察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在我旋转手机时发生了变化。

为什么?

请帮忙!

感谢!!!!

1 个答案:

答案 0 :(得分:1)

你为什么要用KVO这样做? UIViewControllers已经内置了对此的支持。看看

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

以及addChildViewController: