AutoLayout-VFL代码布局<一>
2015-05-12 00:00
375 查看
摘要: AutoLayout 代码布局
参照 AutoLayout入门和VFL经验分享实现demo
附源代码 https://github.com/p-p-b/AutoLayoutDemo
参照 AutoLayout入门和VFL经验分享实现demo
UIView *purpleView = UIView.new; purpleView.backgroundColor = UIColor.purpleColor; purpleView.translatesAutoresizingMaskIntoConstraints = NO; [self addSubview:purpleView]; UIView *greenView = UIView.new; greenView.backgroundColor = UIColor.greenColor; greenView.translatesAutoresizingMaskIntoConstraints = NO; [purpleView addSubview:greenView]; UIView *redView = UIView.new; redView.backgroundColor = UIColor.redColor; redView.translatesAutoresizingMaskIntoConstraints = NO; [purpleView addSubview:redView]; UIView *blueView = UIView.new; blueView.backgroundColor = UIColor.blueColor; blueView.translatesAutoresizingMaskIntoConstraints = NO; [self addSubview:blueView]; NSDictionary *views = NSDictionaryOfVariableBindings(greenView,redView,blueView,purpleView); NSDictionary *metrics = @{@"hPadding":@15,@"vPadding":@15}; // greenView redView { //横向排列 superview-间距-greenView-间距-间距-redView-间距-superview NSString *format = @"H:|-hPadding-[greenView]-hPadding-[redView(greenView)]-hPadding-|"; //限制 宽度和x坐标位置, NSArray *constrains1 = [NSLayoutConstraint constraintsWithVisualFormat:format // 宽度和x坐标位置, options:NSLayoutFormatAlignAllTop|NSLayoutFormatAlignAllBottom // origin.y size.height metrics:metrics views:views]; [self addConstraints:constrains1]; //纵向 superview-间距-greenView-间距-superview NSString* format2 = @"V:|-vPadding-[greenView]-vPadding-|"; NSArray *constrains2 = [NSLayoutConstraint constraintsWithVisualFormat:format2 // 限制y 坐标 options:0 metrics:metrics views:views]; /*constrains1 限制 宽度和x坐标位置 constrains2 限制y 坐标 constrains1 constrains2 共同限制 高度 */ [self addConstraints:constrains2]; } // blueView purpleView 约束条件 { [self addConstraints: [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-hPadding-[blueView]-hPadding-|" options:0 metrics:metrics views:views]]; [self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-vPadding-[purpleView]-vPadding-[blueView(purpleView)]-vPadding-|" options:NSLayoutFormatAlignAllLeft |NSLayoutFormatAlignAllRight metrics:metrics views:views]]; }
附源代码 https://github.com/p-p-b/AutoLayoutDemo
相关文章推荐
- NS2 分裂机制及代码分析<一>
- 收集未经测试的Epoll模型代码<一>
- Android代码模版整理<一>
- C语言学习代码<一> .
- Android学习之 有关图片缓存问提的代码封装<一>
- SQLite学习手册(实例代码<一>)
- SQLite学习手册(实例代码<一>)
- 信息管理代码分析<一>登录密码
- UNITY3D shader代码例子<一> 法线颜色
- 栈区,堆区,全局区,文字常量区,程序代码区 内存详解<一>
- Three.js图形引擎代码知识库<一>
- GL音乐播放器---代码实现<一>
- 【ASP.NET】解决执行<script>代码后页面布局变化问题
- <一>--RIL层代码分析-RIL_RadioFunctions *RIL_Init(funcs =rilInit()->mainloop()
- 关于asp.net 中执行<script>代码后页面布局变的不正常
- SQLite学习手册(实例代码<一>)
- C语言学习代码<一>
- SQLite学习手册(实例代码<一>)
- 为代码减负之<一>触发器(SQL)
- 代码的未来读书笔记<一>