iOS8.1- iOS8.3横屏后部分区域无响应 坐标错乱
来源:互联网 发布:软件测试逻辑思维题 编辑:程序博客网 时间:2024/06/06 18:17
http://www.cocoachina.com/bbs/read.php?tid-244119-page-1.html
iOS8之后只支持竖屏的App中某个界面强制横屏后导致部分区域无响应
强制横屏:
iOS7中的场景:Reveal软件监控视图层次的结构
iOS8.1中该视图结构变成了:
参看了UIWindow相关API接口和UIApplication:sharedApplication相关的API接口,iOS8 SDK中并没有新增。
而目前通过[[UIApplication sharedApplication] setStatusOrientation:**];来强转 只会让UIWindow:keyWindow转过来,而UIScreen:mainScreen纹丝不动。(或者反过来说也可以解释上图的现象) 这样就导致了UIWindow上部分点击虽然点击实际上发生在屏幕当中但设备处理时 却判断其超出了屏幕范围的诡异情况。。。
iOS8 [[UIApplication sharedApplication] setStatusOrientation: **] rotation bug
我通过改变UIWindow的frame来对齐UIScreen:mainScreen的Frame,结果是UIWindow上的元素排列非常的混乱。而通过SDK的API接口来强制旋转UIWindow也没有找到。改变UIScreen:mainScreen的Frame似乎也是不可取,因为[[UIApplication sharedApplication] setStatusOrientation:**];这个API接口就是要使得UIScreen:mainScreen呈现现在这个样子的。
keywindow在强制横屏的时候,旋转M_PI_2,从Reveal的视图结构可以看到 UIWindow/UIScreen:mainScreen/UITextEffectsWindow 三者合一了,但是三者跟设备的屏幕硬件 形成了一个90度角.
用了[[UIDevice currentDevice] setValue: [NSNumber numberWithInteger: UIInterfaceOrientationLandscapeRight] forKey:@"orientation"];之后 问题来了。状态栏没有横过来,卧槽,如果叠加使用[[UIApplication sharedApplication] setStatusOrientation: **];问题又回到原点去了。只好将状态栏在全屏的时候隐藏,要不然自己造一个状态条放上去,顿时蛋很疼啊。iOS8 这里是不是SDK一个显而易见的bug还是怎么滴,感觉不合理啊 UIScreen:mainScreen 和UIWindow:keyWindow通过API接口调用来转屏居然会分道扬镳,这绝对不合理吧 Apple大神!
强制旋转的时候 弃用[[UIApplication sharedApplication] setStatusOrientation: **];使用 [[UIDevice currentDevice] setValue: [NSNumber numberWithInteger: UIInterfaceOrientationLandscapeRight] forKey:@"orientation"]; 就可以三位一体 来旋转啦.但是此方法会导致顶部状态条没有切换,不完美,后期完美的解决方案请看后面的专题文章。
- iOS8.1- iOS8.3横屏后部分区域无响应 坐标错乱
- iOS8.1- iOS8.3横屏后部分区域无响应bug 解决办法
- iOS8之后只支持竖屏的App中某个界面强制横屏后导致部分区域无响应
- ios8以前版本UIViewcontroller不兼容,刷新页面后部分控件不显示
- ios8
- iOS8
- iOS8
- iOS8
- iOS8
- iOS8
- ios8越狱无cydia
- IOS8 推送无声音
- IOS8 设置TableView分割线
- iOS8区域定位CLVisit的了解
- ios8无法横屏的猜测
- ios8 横屏状态栏不显示解决方法
- ios8 横屏状态栏不显示解决方法
- ios8 强制横竖屏
- Tensorflow 模型持久化
- 【PHP基础知识】——Header()函数
- Hashtable与ConcurrentHashMap区别
- GitHub入门指南
- 个人认为有用的技术贴--持续更新
- iOS8.1- iOS8.3横屏后部分区域无响应 坐标错乱
- laravel框架上传图片实时预览
- Android Material Design
- 使用 QEMU 进行系统仿真
- JAVA编程思想读书笔记(8-14章)
- python eval()
- jzoj. 3521. 【NOIP2013模拟11.7B组】道路覆盖(cover)
- Huffman树
- easyui-dialog