iOS 屏幕适配

一、屏幕适配发展历史
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 选中项去掉。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值