用代码完成Autolayout约束
来源:互联网 发布:安卓音乐软件 编辑:程序博客网 时间:2024/04/29 22:28
讲道理,用Autolayout还是在storyboard里面设置的好。
首先,一个约束就是一个NSLayoutConstraint对象。
创建好NSLayoutConstraint对象后,就可以用下面两个方法添加到相关的View上
- (void)addConstraint:(NSLayoutConstraint *)constraint;- (void)addConstraint:(NSArray *)constraints;
注意点:
1. view.translateAutoresizingMaskIntoConstraints = NO;(约束加在哪个view上,就设置那个view)
2. 不设置frame
3. 保证控件都已经在各自的父控件上
添加约束的规则:
- 对于两个同层级View之间的约束关系,添加到它们的父控件View上
- 两个不同层级View之间的约束关系,添加到它们最近共同父View上
- 对于有层次关系的两个view之间的约束关系,添加到层次较高的父view上
对于创建一个约束的参数。请参照storyboard中的参数对照。
当然,苹果同样创建了一门语言,专门用来创建约束
VFL语言(Visual Format Language)可视化格式语言
示例:
H:[cancelButton[72]]-12-[acceptButton[50]]// cancelButton宽72,acceptButton宽50,两个水平间隔12
用到的是NSLayouConstraint的一个类方法
+ (void)constraintWithVisualFormat:(NSString *)format options:(NSLayoutFormatOptions)opts metrics:(NSDictionary *)metrics views:(NSDictionary *)views;
该语句不支持乘数法,要使用乘除法,还得使用原始的代码
用法:可以将约束拖进controller,拥有它,然后修改它的值,可实动画的效果。
注:storyboard用Autolayout来适配屏幕,然后sizeclass 横竖屏适配等等
0 0
- 用代码完成Autolayout约束
- 用纯代码写autolayout约束
- AutoLayout 代码实现约束
- 代码中更改AutoLayout约束
- 代码手动修改约束(AutoLayout)
- iOS autolayout 的基本使用(用代码添加约束)
- 在代码中更新AutoLayout约束
- iOS 代码添加约束—VFL (AutoLayout)
- iOS 代码添加约束—VFL (AutoLayout)
- AutoLayout之通过代码添加约束
- Autolayout约束的代码实现方式-1
- AutoLayout代码控制约束是否起作用
- 关于AutoLayout和代码修改约束
- AutoLayout约束
- 使用了Autolayout和约束后,无法用代码修改View的位置,怎么处理?
- 用代码实现 autolayout
- IOS开发-14.利用代码添加autolayout约束
- iOS在纯代码中使用AutoLayout添加约束
- python学习笔记(二)
- php 冒泡排序算法
- Codeforces Round #368 (Div. 2) Bakery
- `sex` enum('男','女','保密') default '保密'#1067 - Invalid default value for 'sex'
- Lua 随机数生成问题
- 用代码完成Autolayout约束
- [Android 之美] 那些你不知道的APK 瘦身,让你的APK更小
- Nginx源码分析 - 主流程篇 - 多进程的惊群和进程负载均衡处理
- Codeforces Round #368 (Div. 2) A(水题) B(枚举 思维) C(数论 勾股数)
- Head First 设计模式学习笔记 —— 单件模式
- lua Date和Time
- 用户故事的扩展-新的故事类别
- 《UNIX环境高级编程》十八终端I/O读书笔记
- Android中点击事件的四种写法