iOS - 使用导航控制器旋转
Posted
技术标签:
【中文标题】iOS - 使用导航控制器旋转【英文标题】:iOS - Rotation with a Nav Controller 【发布时间】:2011-02-18 13:52:35 【问题描述】:这是一个小而烦人的问题。我正在使用导航控制器,它不会旋转。我之前在没有导航控制器的情况下使用代码,它旋转得很漂亮。它现在甚至没有调用“-(BOOL)shouldAutororateToInterfaceOrientation...”,所以我有点茫然。
提前致谢。
编辑:是的,我设置了“-(BOOL)canBecomeFirstResponder”。
Edit2:我现在调用“-(BOOL)shouldAutororateToInterfaceOrientation...”,当应用程序第一次运行时,此时屏幕旋转,但当它显示导航控制器时,将其设置回纵向模式...
【问题讨论】:
你所有的视图控制器都有这些方法吗? 【参考方案1】:UIWindow
将这些事件传播到除根控制器之外的视图控制器存在问题。如果您将此控制器直接添加到 UIWindow
并且它不是您添加的第一个,则将其添加到根视图中。
否则,您可能需要考虑实现自己的旋转变换。我有一个 UIViewController 子类,它为您完成了繁重的工作on github here。
【讨论】:
【参考方案2】:您的控制器需要 return YES 在:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
// Overriden to allow any orientation.
return YES;
另外,如果你有一个 UITabBarController,每个控制器都需要那个方法返回 YES。
【讨论】:
我的返回正确,但从未调用过该方法。以上是关于iOS - 使用导航控制器旋转的主要内容,如果未能解决你的问题,请参考以下文章