遇到横竖屏加通知的适配, 当 屏幕晃动和切换的时候, 出现的布局混乱的问题, 无外乎以下三种方式造成的, 谨慎解决
1.判断屏幕的宽高, [[UIScreen mainScreen] bounds].size.width不一定管用, 即使你在 general设置了[[UIApplication sharedApplication] statusBarOrientation]
2.设置UIDeviceOrientationPortrait和UIDeviceOrientationLandscapeLeft不一定管用,横竖屏会无法判断的, 不信你打个日志看看
3.UIApplicationDidChangeStatusBarFrameNotification
和UIDeviceOrientationDidChangeNotification
这两个不同的通知会引起消息冲突, UIDeviceOrientationDidChangeNotification会判断所有方向,比如屏幕向上,这时候width和height是不会变的,改成UIApplicationDidChangeStatusBarFrameNotification就好了
4.判断当前是什么设备, 最好是判断其高度是多少, 而不是宽度是多少, 这样可以减少很多异常的问题
产生此问题的可能还有其他原因, 欢迎补充斧正.
对于此问题的解决办法比较多.
1.review 你的项目, 找到什么情况下产生的横竖屏不受你控制, 然后找到这个原因解决掉, 或者在你需要的时候调用这个方法
2.还有一种是老前辈介绍, 可以定义变量, 在你需要的时候, 使用这个变量
3.本人项目比较多, 改一处而动全身了. 所以用的 最 low 的办法判断当前设备的高度, 是的, 只能是高度, 因为宽度并不准, 不信可以自己测试下, 然后做的适配, 还好问题解决了
守正笃实 , 久久为功, 虽然我爬的慢, 走的缓, 但是我不止步, 未来. 为你而来. 人生就像是登山, 即使一小步, 也有新高度!
网友评论