您的位置:首页 > 移动开发 > IOS开发

iOS 屏幕适配

2016-07-17 23:33 309 查看
一、屏幕适配发展历史

1、直接通过frame设置

2、通过Autoresizing设置控件和父控件的相对关系。运行时根据设置的规则计算出frame

3、autolayout:设置某个控件与任意其他控件的相对关系

4、size class: 针对不同的屏幕设置不同的控件位置越苏规则。

ps:1:autoresizing和autolayout互斥。

     2:使用自动适配后就不用设置frame了,避免混乱。

二、autoresizing使用

1、在布局文件中,先取消autolayout,然后在size inspector面板中设置该控件相对父控件上下左右的位置固定或本身宽高的伸缩。

2、在代码中使用,需注意所用到控件最好都是用代码写的,设置要定位的控件的autoresizingMask属性。(ps属性设置的是可伸缩的方向)。设置多个属性时用“ | ”来连接。

三、autolayout使用

1、在开起来autolayout和sizeclass的项目中,布局文件页面下方会有一排按钮,通过这些按钮可进行自动布局的约束条件添加。

(0)stack:在stack View中提供横向和纵向的线性布局功能;

(1)align按钮设置对齐

(2)pin按钮固定位置

(3)resolve auto layout issues:解决约束按钮的问题

PS:

约束条件会出现错误和警告:

错误必须修正,点击错误的图标(红色圆形,里面是白色箭头)错误的情况有两种:(1)约束添加不足,长宽和XY少了某些成分;(2)同一元素的约束条件重复导致冲突。

警告:警告不影响运行,通常是应为布局文件中设置的frame和约束条件产生的frame不同,而在运行时,会按照约束条件的frame来实现。

设置左右边距的时候要注意,在推出iPhone6 Plus之后xcode会在设置左右边距的时候预留16个大小的间距,因此当设置边距为0的时候,左右会出现空白。解决办法:(1)设置左右边距为-16;(2)或者将Constrain to margins 选中项去掉。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: