UINavigationController 的子视图中调用的旋转方法?
Posted
技术标签:
【中文标题】UINavigationController 的子视图中调用的旋转方法?【英文标题】:Rotation method called in child view of UINavigationController? 【发布时间】:2013-01-12 18:00:47 【问题描述】:我在导航控制器中嵌入了一个视图层次结构。当视图旋转时,子视图控制器中会调用哪些方法?这段代码在导航控制器的一个子视图中,这些方法都没有被调用!
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
NSLog(@"1");
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
return true;
else
if(toInterfaceOrientation == UIInterfaceOrientationPortrait)
return YES;
return false;
-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
[self loadCorrectElements];
NSLog(@"2");
谢谢!
【问题讨论】:
【参考方案1】:你应该得到两个
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
duration:(NSTimeInterval)duration
所以您的设置有其他问题。
要清楚,正如你提到的“子视图” - 你的意思是最顶层的 UIViewController?那就是在轮换期间拦截这些消息的那个。
【讨论】:
以上是关于UINavigationController 的子视图中调用的旋转方法?的主要内容,如果未能解决你的问题,请参考以下文章
如何扩展 UIView 过去包含 UINavigationController
UINavigationController 不会推送其他视图控制器?
包含 UINavigationController 的状态栏大小不正确