对于特定方法,有没有办法在swift中停止自动旋转?
想要在执行ViewController方法时停止自动旋转..
答案 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
}