XCOde 5 的界面布局一些新特性
// 创建两个按钮
UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btn1 setFrame:CGRectMake(200, 210, 100, 40)];
[btn1 setTitle:@"点击" forState:UIControlStateNormal];
[self.view addSubview:btn1];
[btn1 setTranslatesAutoresizingMaskIntoConstraints:NO];
UIButton *btn2 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btn2 setFrame:CGRectMake(200, 260, 100, 40)];
[btn2 setTitle:@"按钮" forState:UIControlStateNormal];
[self.view addSubview:btn2];
[btn2 setTranslatesAutoresizingMaskIntoConstraints:NO];
// 使用 VFL控制按钮位置
// 参数
// 1.可视化格式语言字符串
// 2.格式选择
// 3.所有参加格式化布局数据的字典,串nil也可以的
//4.所有参加格式化布局的对象字典
// 返回值:根据VFL生成的一组约束
NSDictionary *dict = NSDictionaryOfVariableBindings(btn1,btn2);
// @"H:[btn1]-50-|" [btn1]左右如果有|-50-或者-50-|说明它是在btn1左右个间距50是个点得距离
NSArray *arrayH1 = [NSLayoutConstraintconstraintsWithVisualFormat:@"H:[btn1]-50-|" options:0 metrics:nil views:dict];
[self.view addConstraints:arrayH1];
NSArray *arrayH2 = [NSLayoutConstraintconstraintsWithVisualFormat:@"H:[btn2]-50-|" options:0 metrics:nil views:dict];
[self.view addConstraints:arrayH2];
// [self.view addConstraints:arrayH1];
// [self.view addConstraints:arrayH2];
// 垂直方向的间距
NSArray *arrayV = [NSLayoutConstraintconstraintsWithVisualFormat:@"V:|-60-[btn1(20)]-20-[btn2]" options:0metrics:nil views:dict];
[self.view addConstraints:arrayV];
最新文章
- JS阻止事件冒泡
- lower函数
- 伪共享和缓存行填充,从Java 6, Java 7 到Java 8
- SAP BASIS日常需要做的工作
- groupinfo
- Android Studio安装及首次运行遇到的问题
- iOS9中请求出现App Transport Security has blocked a cleartext HTTP (http://)
- 算法导论(第三版)Exercises4.2(第四章二节)
- ranlib的作用 -----更新静态库的符号索引表
- bzoj 4916: 神犇和蒟蒻 (杜教筛+莫比乌斯反演)
- Django的URL调度
- AngularJS中有关Directive的汇总
- sqlserver 查询表中的主键、外键列及外键表,外表中的主键列
- php -- 数学函数
- 7、Redis中对ZSet类型的操作命令
- Storm系列二: Storm拓扑设计
- 【C++基础 05】友元函数和友元类
- setfacl 命令的常用用法
- js常见易错点
- 给出一列数a1,a2,a3....an,求它们的逆序对数,即有多少个有序对(i,j) 使得iaj,n高达10的6次方