Autolayout 自动布局
来源:互联网 发布:淘宝销售方案 编辑:程序博客网 时间:2024/06/05 21:58
Autolayout 自动布局
使用代码实现Autolayout的方法1:
- 1.创建约束
// view1 :要约束的控件// attr1 :约束的类型(做怎样的约束)// relation :与参照控件之间的关系// view2 :参照的控件// attr2 :约束的类型(做怎样的约束)// multiplier :乘数// c :常量+(id)constraintWithItem:(id)view1 attribute:(NSLayoutAttribute)attr1 relatedBy:(NSLayoutRelation)relation toItem:(id)view2 attribute:(NSLayoutAttribute)attr2 multiplier:(CGFloat)multiplier constant:(CGFloat)c;
- 2.添加约束
- (void)addConstraint:(NSLayoutConstraint *)constraint;- (void)addConstraints:(NSArray *)constraints;
注意
- 一定要在拥有父控件之后再添加约束
- 关闭Autoresizing功能
//取消系统自动Autoresizingview.translatesAutoresizingMaskIntoConstraints = NO;
使用代码实现Autolayout的方法2 - VFL
- 1.使用VFL创建约束数组
// format :VFL语句// opts :约束类型// metrics :VFL语句中用到的具体数值// views :VFL语句中用到的控件+ (NSArray *)constraintsWithVisualFormat:(NSString *)formatoptions:(NSLayoutFormatOptions)optsmetrics:(NSDictionary *)metricsviews:(NSDictionary *)views;
- 2.使用下面的宏来自动生成views和metrics参数
NSDictionaryOfVariableBindings(...)
使用代码实现Autolayout的方法3 - Masonry
- 使用步骤
1.添加Masonry文件夹的所有源代码到项目中
2添加2个宏、导入主头文件
// 只要添加了这个宏,就不用带mas_前缀 #define MAS_SHORTHAND // 只要添加了这个宏,equalTo就等价于mas_equalTo #define MAS_SHORTHAND_GLOBALS // 这个头文件一定要放在上面两个宏的后面 #import "Masonry.h"
- 添加约束的方法
// 这个方法只会添加新的约束 [view makeConstraints:^(MASConstraintMaker *make) { }];// 这个方法会将以前的所有约束删掉,添加新的约束 [view remakeConstraints:^(MASConstraintMaker *make) { }]; // 这个方法将会覆盖以前的某些特定的约束 [view updateConstraints:^(MASConstraintMaker *make) { }];
- 约束的类型
1.**尺寸**:width\height\size2.**边界**:left\leading\right\trailing\top\bottom3.**中心点**:center\centerX\centerY4.**边界**:edges
1 0
- autolayout自动布局详解
- AutoLayout(自动布局)
- AutoLayout 自动布局
- ios Autolayout自动布局
- autoLayout 自动布局
- AutoLayout自动布局
- Autolayout(自动布局)
- 适配 - autolayout自动布局
- autoLayout-自动布局
- iOS AutoLayout 自动布局
- AutoLayout (自动布局)
- Autolayout自动布局1
- Autolayout自动布局2
- Autolayout自动布局3
- AutoLayout 自动布局
- Autolayout 自动布局
- Autolayout 自动布局
- 自动布局:AutoLayout注意事项及autolayout动画
- java初级之22 方法与主方法
- js 基础 数据类型及转换 进制 操作符 ...
- |Vijos|动态规划|P1111 小胖的水果
- C#之foreach
- 实现远程代码注入
- Autolayout 自动布局
- Android系统中设置TextView的行间距(非行高)
- Codeforces Round #143 (Div. 2)-D. Magic Box
- linux命令行下操作mysql的命令汇总
- Android使用TextView实现无下划线超链接
- 中国剩余定理+容斥_____Lucky7( hdu 5768 2016多校第四场 )
- Node.Js fs模块文件操作(三)
- android 计时器
- Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLA