由于现在苹果手机屏幕尺寸的增加,屏幕适配的工作量也是稍显增多了,但是有很多第三方适配库使用起来还是很方便的,所以此次我也不准备对其深入的讲解,只是记录一个注意点,个人觉得平时适配时很容易忽略的一个点;
产生场景:
CGFloat windowH = [UIScreen mainScreen].bounds.size.height
上面这一行代码,相信大家都是非常的熟悉,在一些简单的页面的控件适配时或许会用到,此时用这行代码获取的高度是当前你APP的屏幕高度,正常情况下不会出现任何问题,但是、但是、但是,当你把手机热点打开手机顶部会出现一部分蓝色状态栏,此时,你的APP屏幕会整体往下移,如果你里面有某一个地方的约束是用windowH - xxx
根据这高度减去某一个值得到y值的话,那么会导致y值比实现需求的要偏下,此时距离底部的控件,很容易被手机底部挡住,没办法进行操作;
解决方案:
#define SharedAppDelegate ((AppDelegate *)[[UIApplication sharedApplication] delegate])
CGFloat windowH = SharedAppDelegate.tabBarController.view.height
或者
CGFloat windowH = SharedAppDelegate.window.height
用这种方案获取到的高度是你APP所在屏幕的真实高度;
网友评论