^上面根本没有答案......对于导航控制器中的特定(并非全部)视图控制器禁用自动旋转的问题。类似的问题没有解决禁用特定视图控制器自动旋转的功能,而是禁用导航控制器内所有视图控制器中的自动旋转。我的导航控制器包含一些我想要自动旋转的VC以及其他我不想自动旋转的VC。没有现存的问题令人满意地回答这个问题如何禁用导航控制器(Swift)内特定视图控制器的自动旋转?
4
A
回答
4
我做了一个示例项目如何做到这一点:GitHub repo。
虽然@ Sidetalker的回答是正确的,但我认为它缺乏一点解释。
基本上,您为UINavigationController
创建自定义类并将其分配给Storyboard中的UINavigationController
。在自定义UINavigationController
类中,您需要override
shouldAutorotate
函数,并检查您想禁用自动旋转的类的topViewController
是否为ViewController
(故事板中您的UIViewController
的类)。
在定制UINavigationController
:
override func shouldAutorotate() -> Bool {
if !viewControllers.isEmpty {
// Check if this ViewController is the one you want to disable roration on
if topViewController!.isKindOfClass(ViewController) {
// If true return false to disable it
return false
}
}
// Else normal rotation enabled
return true
}
相关问题
- 1. 禁用导航控制器中的视图控制器的旋转
- 2. 如何在导航控制器中自动旋转子视图
- 3. Swift手动旋转视图控制器
- 4. ios6视图控制器自动旋转
- 5. ios swift - 关闭导航控制器的根视图控制器
- 6. 如何从导航控制器中的视图控制器堆栈中获取特定的视图控制器?
- 7. 防止导航控制器中的一些视图控制器旋转
- 8. 如何调用视图控制器与导航控制器
- 9. 旋转视图控制器
- 10. 旋转视图控制器
- 11. 如何在导航控制器内的特定视图控制器上隐藏导航栏
- 12. 页面视图控制器内的导航控制器
- 13. 从导航控制器导航到正常视图控制器
- 14. 在视图控制器内添加多个导航控制器?
- 15. 在导航控制器和TabbarController内呈现视图控制器
- 16. 如何在swift中禁用导航控制器向右滑动
- 17. 从导航控制器移动到父视图控制器
- 18. 如何在iOS 8中禁用特定控制器的自动旋转?
- 19. 禁用的导航控制器回到以前的视图控制器
- 20. 在自定义视图控制器转换中抑制导航推动动画
- 21. 加载导航视图控制器中的特定视图
- 22. 如何使用UITabBar在swift中导航视图控制器?
- 23. 从导航栏视图控制器导航到标签栏视图控制器
- 24. 如果导航控制器未设置为初始视图控制器,如何获取导航控制器?
- 25. 如何从嵌入导航控制器的简单视图控制器调用标签栏视图控制器?
- 26. 在视图控制器中使用导航控制器
- 27. 不使用导航控制器时弹出视图控制器?
- 28. 调用父视图控制器(通过导航控制器)
- 29. 嵌入导航控制器后,视图将不会旋转
- 30. 内存管理如何在导航控制器上创建视图控制器
建议不提供SWIFT代码和任何类似的问题,不采取迅速的新版本提供了工作代码的答案。 – IvOS
将'shouldAutorotate()'添加到'navigationController'而不是'viewController'为我解决了这个问题。确保为'navigationController'分配一个类。我可以详细说明你是否想要我。 – StevoHN
我有一个想法,你指的是什么,但将不胜感激,如果你能详细说明......提前感谢@StevoHN – IvOS