iOS学习之VFL实现自动布局
2015-11-12 12:35
537 查看
坚持 成长 每日一篇
VFL可以实现快速添加多条约束,掌握VFL可以很方便的用存代码布局我们的App界面
VFL常用的情况:
[view1]-100-[view2]:约束两个视图距离为100.
H:|-0-[view1]-0-|:约束view1与父视图的水平方向距离。||分别表示父视图的边缘。H表示水平方向
V:|-64-[view1]-0-[view2(150)]-0-|:约束父视图的垂直方向,(150表示view2垂直发现的高度为150)。
[view2(>=30,<=50)]约束高度的范围在30到50之间
代码实例
VFL可以实现快速添加多条约束,掌握VFL可以很方便的用存代码布局我们的App界面
VFL常用的情况:
[view1]-100-[view2]:约束两个视图距离为100.
H:|-0-[view1]-0-|:约束view1与父视图的水平方向距离。||分别表示父视图的边缘。H表示水平方向
V:|-64-[view1]-0-[view2(150)]-0-|:约束父视图的垂直方向,(150表示view2垂直发现的高度为150)。
[view2(>=30,<=50)]约束高度的范围在30到50之间
代码实例
// 创建一个view1 和view2, view1和view2不需要做任何的Rect设置 UIView *view1 = [[UIView alloc] init]; view1.backgroundColor = [UIColor blueColor]; [self.view addSubview:view1]; UIView *view2 = [[UIView alloc] init]; view2.backgroundColor = [UIColor yellowColor]; [self.view addSubview:view2]; #warning 代码实现自动布局,要设置下面的属性为NO view1.translatesAutoresizingMaskIntoConstraints = NO; view2.translatesAutoresizingMaskIntoConstraints = NO; //创建参加自动布局的视图的字典 NSDictionary *views = @{@"view1":view1, @"view2":view2}; // 水平方向的约束,注意有多少个水平约束就会有多少个数组。一个数组组只保存有一个水平方向的约束 // 1.view1水平方向的约束 NSArray *tabviewHConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-0-[view1]-0-|" options:0 metrics:nil views:views]; [self.view addConstraints:tabviewHConstraints]; // 2.view2水平方向的约束 NSArray *inputViewHConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-0-[view2]-0-|" options:0 metrics:nil views:views]; [self.view addConstraints:inputViewHConstraints]; #warning 如果view1和view2需要在同一水平线上的约束就只有一个数组了。根据情况判断 // 垂直方向的约束 NSArray *vContraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-64-[view1]-0-[view2(150)]-0-|" options:0 metrics:nil views:views]; [self.view addConstraints:vContraints]; //此处的vContraints可以打印出来,如果你需要将来修改某条约束可以保存该约束为全局变量 NSLog(@"vContraints = %@",vContraints);
相关文章推荐
- nagios的详细配置和报警--老程
- iOS屏幕适配
- iOS开发之理解iOS中的MVC设计模式
- IOS 加密解密(AES、DES、base64、md5)
- iOS项目设置成进入项目手机不会自动锁屏状态
- iOS项目中设置启动页停留时间
- iOS 用代码实现跳转到设置界面
- IOS开发之----全局变量extern的使用
- iOS Autolayout之Masonry解读
- iOS9.0 升级后的常见问题
- iOS 手机(连续)震动
- ios-清理应用缓存
- iOS开发表格TableView的使用
- 【iOS】OC-Quartz2D简单使用
- 【iOS】OC-Quartz2D简单使用
- ios9 xcode7以后编译需要进行的几项设置
- IOS 动态加载启动业的代码
- iOS Runtime应用实例(二)method swizzling(方法交叉)
- iOS 常用字符串的方法
- mac终端查看ios静态库是否支持64位