IOS界面UI设计3之屏幕适配AutoLayout、size classes(二)

AutoLayout02 实现如下效果:

只要明确4点即可。(x、y、w、h)


先把蓝色的确定了。

宽:距离左边右边相当于动态的宽度。



高度是固定的。

左边的距离可以同时确定x坐标。

y坐标由在父控键中垂直分布决定。

 

红色:

红色和蓝色左边对齐,这里实现x坐标。

高度固定。到右边的距离固定动态宽确定。设置和下面的一个蓝色的距离,y确定。


前面4个分别用于两个之间的对齐。最下面2个用于一个的水平或者垂直居中。

中间的三个,可以实现类似下面的功能。


最上面的是距离某个视图前后左右的距离。中间的宽高是高度和宽度锁定。

中间三个功能表示两个对象的宽和高相等。

下面的对齐方式,也是上下对齐,不同的是,这里可以设置对齐的左边、右边、还是顶部或者底部对齐。

约束规则:

如果有两个同等级的view,那么他们共同的约束规则添加在他们的父view上。如果是父类和子类之间的约束,那么添加在这两个的父类上。如果这两个不是在一个父类下,有没有上下级关系,那么添加在距离他们最近的一个类上。

这里还有一个要注意的地方:比如我想实现一个view距离中间的中心线83的距离:


可以让其居中,然后设置距离83.

代码编写约束语言:

首先禁用Autoresizing

view.translatesAutoresizingMaskIntoConstraints= NO;

常用的约束方法:

- (void)addConstraint:(NSLayoutConstraint*)constraint;

- (void)addConstraints:(NSArray*)constraints;

+(id)constraintWithItem:(id)view1 attribute:(NSLayoutAttribute)attr1relatedBy:(NSLayoutRelation)relation toItem:(id)view2attribute:(NSLayoutAttribute)attr2 multiplier:(CGFloat)multiplierconstant:(CGFloat)c;

VFL语言:

为了开发方便,水果公司还专门为这个约束规则设计了一套约束语言,visual format language。具体语法可以查阅相关手册。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值