iOS横竖屏旋转内容总结

2020-01-21 04:41:39刘景俊


func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) 
-> UIInterfaceOrientationMask {
}

然后我立马想到一个超级简单的方法,那就是定义一个全局变量或者缓存一个bool值来进行判断,如下:


func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) 
-> UIInterfaceOrientationMask {
 if isAllowAutorotate {
  return [.portrait, .landscapeLeft, .landscapeRight]
 }
 else {
  return .portrait
 }
}

然后默认isAllowAutorotate这个全局变量为false,在需要旋转的控制器中:


override func viewWillAppear(_ animated: Bool) {
  super.viewWillAppear(animated)
  isAllowAutorotate = false
 }
  
 override func viewWillDisappear(_ animated: Bool) {
  super.viewWillDisappear(animated)
  isAllowAutorotate = true
 }
}

这样就不用麻烦的去搞那些继承什么的了!

四、后记和Demo

https://github.com/swordjoy/ScreenRotationDemo

以上就是本次小编整理的全部内容,感谢大家的支持,如果还有任何相关问题可以在下方的留言区讨论。


注:相关教程知识阅读请移步到IOS开发频道。