美文网首页
0707-AutoLayout

0707-AutoLayout

作者: dymost | 来源:发表于2015-07-07 23:20 被阅读51次

AutoLayout

  • 代码实现Autolayout的步骤
  • 利用NSLayoutConstraint类创建具体的约束对象
  • 添加约束对象到相应的view上
- (void)addConstraint:(NSLayoutConstraint *)constraint;
- (void)addConstraints:(NSArray *)constraints;
  • 创建constraint
一个NSLayoutConstraint对象就代表一个约束

创建约束对象的常用方法
+(id)constraintWithItem:(id)view1 attribute:(NSLayoutAttribute)attr1 relatedBy:(NSLayoutRelation)relation toItem:(id)view2 attribute:(NSLayoutAttribute)attr2 multiplier:(CGFloat)multiplier constant:(CGFloat)c;
view1 :要约束的控件
attr1 :约束的类型(做怎样的约束)
relation :与参照控件之间的关系
view2 :参照的控件
attr2 :约束的类型(做怎样的约束)
multiplier :乘数
c :常量

  • 代码实现Autolayout的注意点
  • 要先禁止autoresizing功能,设置view的下面属性为NO
view.translatesAutoresizingMaskIntoConstraints = NO;
  • 添加约束之前,一定要保证相关控件都已经在各自的父控件上
    不用再给view设置frame

  • 自动布局的核心计算公式

obj1.property1 =(obj2.property2 * multiplier)+ constant value

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

相关文章

  • 0707-AutoLayout

    AutoLayout 代码实现Autolayout的步骤 利用NSLayoutConstraint类创建具体的约束...

网友评论

      本文标题:0707-AutoLayout

      本文链接:https://www.haomeiwen.com/subject/qxnyqttx.html