我的应用程序有一个UINavigationController,它不支持旋转。不过,我想在导航控制器的顶部显示一个应该支持旋转的模式视图控制器。这可能吗?我尝试在视图控制器上覆盖shouldAutorotateToInterfaceOrientation
,该视图控制器以模态方式显示,但似乎不起作用。只支持模态UIViewController方向
1
A
回答
0
我发现在另一篇文章中回答:UIViewController inside a root ViewController not rotating
的关键是
- (void)addChildViewController:(UIViewController *)childController
和
- (BOOL)automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers
1
我认为,除了显示模式地返回YES
视图控制器的shouldAutorotateToInterfaceOrientation
,你的导航控制器的shouldAutorotateToInterfaceOrientation
应该覆盖,以返回YES
当模式视图控制器显示,和NO
否则。
0
你需要确保你的设备生成设备方位的通知(UIDeviceOrientationDidChangeNotification):
确保:
generatesDeviceOrientationNotifications设置为true
从Apple文档:
“的窗口对象执行与改变当前方向有关的许多工作,但是,它与根视图控制器一起工作来确定方向是否改变应该会发生什么,如果是的话,还应该调用哪些其他方法来应对变化。如果这个控制器是一个容器,它可能会依赖一个孩子来决定是否应该发生方向。“
所以,如果你的根视图控制器(UINavigationController?)不支持旋转,那么这可能会被设置为false,当你的应用程序启动在这种情况下,你需要重新打开它在适当的时候:
UIDevice myDevice = [UIDevice currentDevice];
[myDevice beginGeneratingDeviceOrientationNotifications];
相关问题
- 1. 方向支持
- 2. 支持故事板中UIViewController的纵向模式
- 3. cocos2dX方向支持
- 4. 支持的方向
- 5. 支持方向IOS
- 6. 仅支持纵向方向
- 7. UIViewController方向
- 8. 更改支持的方向
- 9. MVVMCross iOS支持的方向
- 10. iPhone支持Xcode的方向
- 11. ios7不支持横向方向
- 12. 如何自定义子视图,只支持横向模式
- 13. 只支持iPad2
- 14. 如果只支持一个方向,需要Autolayout吗?
- 15. UIViewcontroller在横向模式下保持纵向坐标
- 16. 支持向量机模型不支持概率估计?
- 17. “let-”只支持NG-模板元素
- 18. 从UIViewController调用UIViewController方法深深地嵌套在模态中
- 19. 支持方向支持的飞溅活动
- 20. 只支持Javascript如果支持
- 21. 由静态库给出的UI不支持设备方向
- 22. Flashvars - 只支持SWF?
- 23. UIImagePickerController仅支持肖像模式。任何支持横向模式的替代品?
- 24. SpriteKit支持多种设备方向
- 25. 支持的接口方向和shouldAutorotateToInterfaceOrientation
- 26. 如何更改viewController支持的方向?
- 27. 支持向量机预测方法
- 28. iOS 8.3支持的方向崩溃
- 29. 不支持iOS6中的方向
- 30. 检测设备运动/方向支持?
是否尝试该[自我presentModalViewController:yourViewController动画:YES>];这将在您的导航控制器的顶部。现在yourViewController的shouldAutorotateToInterfaceOrientation应该返回YES。 –