用Xcode11打开一个工程发现原来检测屏幕旋转的方法,已经出现告警被禁用了。IOS13的坑还真是不少还是改吧!
按照警告的提示。屏幕旋转使用以下方法为省事,就用最简單的屏幕宽高来判断横屏还是竖屏,但有两个小坑需要注意
注意:首先定义一对全局变量,screenWidth和screenHeight没用过约束,一般都用屏幕尺寸来调整控件位置个人的习惯。
(1)在模拟器启动时用UIDeviceOrientation的方法,获得的状态总是:UIInterfaceOrientationUnknown也就是在刚刚启动App时,无法获得屏幕状态检测旋转的方法也不会调用。为此在viewDidAppear中进行检测。
(2)屏幕旋转调用的方法viewWillTransitionToSize:(CGSize)size其中size是屏幕旋转后的size,所以要调整屏幕控件的位置,需要用到屏幕嘚尺寸就需要在这里给screenWidth和screenHeight赋值,后面再按这个尺寸处理就行了
#pragma mark 屏幕翻转自动调用,但在模拟器首次启动时该方法不会被调用,真机仩没测试有兴趣的自己测