屏幕适配问题的总结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了屏幕适配问题的总结相关的知识,希望对你有一定的参考价值。
屏幕适配的解决方案:
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是否显示都是能轻松实现的。
以上是关于屏幕适配问题的总结的主要内容,如果未能解决你的问题,请参考以下文章