IvO*_*vOS 5 xcode uiviewcontroller uinavigationcontroller swift
^上面根本没有答案...存在问题,无法为导航控制器内部的特定(并非全部)视图控制器禁用自动旋转。类似的问题并不针对特定视图控制器禁用自动旋转的能力,而是针对导航控制器内部所有视图控制器禁用自动旋转的能力。我的导航控制器包含一些我想自动旋转的VC和其他我不想自动旋转的VC。没有现有的问题可以令人满意地回答。
我制作了一个关于如何执行此操作的示例项目:GitHub repo。
虽然@Sidetalker 的答案是正确的,但我认为它缺乏一些解释。
基本上,您为您创建一个自定义类UINavigationController并将其分配给UINavigationController故事板。在自定义UINavigationController类中,您可以执行override该shouldAutorotate函数并检查您想要禁用自动旋转的类(您在情节提要中的类)是否topViewController为该类。ViewControllerUIViewController
在定制中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
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2794 次 |
| 最近记录: |