在swift中禁用特殊方法的自动旋转?

时间:2016-08-05 06:08:36

标签: ios swift auto-rotation

对于特定方法,有没有办法在swift中停止自动旋转?

想要在执行ViewController方法时停止自动旋转..

4 个答案:

答案 0 :(得分:2)

制作一个Bool个实例,并在shouldAutorotate的{​​{1}}方法中返回其值。

ViewController

现在将方法中的var allowRotate: Bool = true override func shouldAutorotate() -> Bool { return allowRotate } 设置为allowRotate,然后将其设置为false以便再次允许停止轮播。

答案 1 :(得分:0)

在UIViewController中查看这些方法:

func shouldAutorotate() -> Bool
func supportedInterfaceOrientations() -> UIInterfaceOrientationMask
func preferredInterfaceOrientationForPresentation() -> UIInterfaceOrientation

答案 2 :(得分:0)

因此,您需要子类化' UINavigationController',实现shouldAutorotate并在故事板中使用导航控制器类。

override func shouldAutorotate() -> Bool {
    let currentViewController = self.topViewController

    if test.isKindOfClass(NewviewController.self) {
        return true
    }

    return false
}

答案 3 :(得分:0)

在每个需要为肖像的视图的ViewController中使用这些方法:

override func shouldAutorotate() -> Bool {
    return false
}

override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
    return UIInterfaceOrientationMask.Portrait
}