使用编码添加约束的规则

  • 对于两个同层级View之间的约束关系,添加到他们的父View上。
  • 对于两个不同层级View之间的约束关系,添加到他们最近的共同的父View上
  • 对于有层次关系的两个View之间的约束关系,添加到层次较高的父View上

编码创建约束的几种方法:
      1.创建简单的约束,一般作用于单一的对象,或者对象之间的间距
    + (NSArray *)constraintsWithVisualFormat:(NSString *)format 
     options:(NSLayoutFormatOptions)opts 
     metrics:(NSDictionary *)metrics 
       views:(NSDictionary *)views;  
    
      2.创建类似于view1.attr1 = view2.attr2 * multiplier + constant这样的约束
    +(id)constraintWithItem:(id)view1 
  attribute:(NSLayoutAttribute)attr1 
  relatedBy:(NSLayoutRelation)relation 
     toItem:(id)view2 
  attribute:(NSLayoutAttribute)attr2 
 multiplier:(CGFloat)multiplier 
   constant:(CGFloat)c;  


官方文档的例子:
Standard Space

[button]-[textField]       //标准间隔,两个view之间只用"-",没有数字的时候就是标准间隔

../Art/standardSpace.png
Width Constraint

[button(>=50)]  //宽度约束,约束view的宽度的最小值为50

../Art/widthConstraint.png
Connection to Superview

|-50-[purpleBox]-50-|   //与父视图间隔,到父视图的左右都为50的间距

../Art/connectionToSuperview.png
Vertical Layout

V:[topField]-10-[bottomField]  //两个view的垂直间隔,间距为10

../Art/verticalLayout.png
Flush Views

[maroonView][blueView]  //两个view之间无间隔

../Art/flushViews.png
Priority

[button(100@20)]    //优先级,表示设置宽度为100,优先级为20

../Art/priority.png
Equal Widths

[button1(==button2)]  //等宽

../Art/equalWidths.png
Multiple Predicates

[flexibleButton(>=70,<=100)]   //宽度范围限制, 大于等于70, 小于等于100

../Art/multiplePredicates.png
A Complete Line of Layout

|-[find]-[findNext]-[findField(>=20)]-|   //多视图排列

../Art/completeLayout.png
   
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值