使用代码实现Autolayout方法

来源:互联网 发布:mysql存手机号 编辑:程序博客网 时间:2024/06/15 07:42

整理印象笔记之代码实现Autolayout

使用代码实现Autolayout的方法

创建约束

+(instancetype)constraintWithItem:(id)view1 attribute:(NSLayoutAttribute)attr1 relatedBy:(NSLayoutRelation)relation toItem:(nullable id)view2 attribute:(NSLayoutAttribute)attr2 multiplier:(CGFloat)multiplier constant:(CGFloat)c;

view1:要约束的控件
attr1:约束类型
relation:与参与控件之间的关系
view2:参与的控件
attr2:约束的类型
multiplier:乘数
c:常量

添加约束

- (void)addConstraint:(NSLayoutConstraint *)constraint;- (void)addConstraints:(NSArray<__kindof NSLayoutConstraint *> *)constraints;

注意:
1、一定要在拥有父控件之后再添加约束
2、关闭Autoresizing功能

testView.translatesAutoresizingMaskIntoConstraints = NO;

使用代码实现是Autolayout的方法2-VFL

使用VFL创建约束数组

+ (NSArray<__kindof NSLayoutConstraint *> *)constraintsWithVisualFormat:(NSString *)format options:(NSLayoutFormatOptions)opts metrics:(NSDictionary<NSString *,id> *)metrics views:(NSDictionary<NSString *,id> *)views;

format:VFL语句
opts:约束类型
metrics:CFL语句中用到的具体数据
views:VFL语句中用到的控件

原创粉丝点击