首页 > 代码库 > 屏幕适配问题的总结
屏幕适配问题的总结
屏幕适配的解决方案:
1.使用frame:可以使用[UIScreen mainScreen].bounds.size.height来判断是哪个版本,根据屏幕的宽高进行计算控件的大小位置,这种方法,代码复杂,容易出错;而且维护难度大,灵活性极差,一些子控件的布局如果各个版本没有变化,可以使用frame来设置。
2.Autoresizing:它只能设置子控件随着父控件的改变而改变,对于兄弟控件关系的调整无法实现。
3.Autolayout:iOS6之后出现的,iOS7才得到很好的推广,能够很轻松的进行屏幕的适配,但是不能做到完全的适配,一些特殊的情况需要我们通过判断版本进行适配,一般纯代码的话会使用masonry来约束布局
4.对于一些比较特殊的情况,例如不同版本下的字体的大小不一样,应该通过if...else语句或者switch语句判断版本号或者屏幕的宽高进行不同的设置,或者cell间距大小的设置等。
5.Size Classes使用
iOS8中新增了Size Classes特性,他是对当前所有iOS设备尺寸的一个抽象。
屏幕的宽和高分别分成三种情况:(Compact,Regular,Any).也就是紧凑,正常和任意。这样宽和高三三整合,一共九种情况。针对每一种情况,如果需要的话,我们可以单独在storyboard或 xib中设置UIView的自动布局约束,甚至某一个button是否显示都是能轻松实现的。
屏幕适配问题的总结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。