Autolayout介绍
1.Autolayout是一种“自动布局”技术,专门用来布局UI界面的
2.Autolayout自iOS 6开始引入,由于Xcode 4的不给力,当时并没有得到很大推广
3.自iOS 7(Xcode 5)开始,Autolayout的开发效率得到很大的提升
4.苹果官方也推荐开发者尽量使用Autolayout来布局UI界面,Autolayout能很轻松地解决屏幕适配的问题
各种iOS设备的分辨率
实现Autolayout的注意事项
1.代码实现Autolayout的步骤:
利用NSLayoutConstraint
类创建具体的约束对象,添加约束对象到相应的view上
- (void)addConstraint:(NSLayoutConstraint *)constraint;
- (void)addConstraints:(NSArray *)constraints;
2.代码实现Autolayout的注意点:
- 要先禁止
autoresizing
功能,设置view的下面属性为NO
view.translatesAutoresizingMaskIntoConstraints = NO;
- 添加约束之前,一定要保证相关控件都已经在各自的父控件上,
不用再给view设置frame
添加约束的规则
在创建约束之后,需要将其添加到作用的view上,添加时要注意目标view需要遵循以下规则:
1.对于两个同层级view之间的约束关系,添加到他们的父view上
2.对于两个不同层级view之间的约束关系,添加到他们最近的共同的父view上
3.对于有层次关系的两个view之间的约束关系,添加到层次较高的view上
自动布局的核心公式:
obj1.property1 =(obj2.property2 * multiplier)+ constant value
基于Autolayout的动画
[UIView animateWithDuration:1.0 animations:^{
[添加了约束的view layoutIfNeeded];
}];
- Posted by *** singerYoung ***
- 联系作者 简书·singerYoung 新浪微博·小小羊run
- 原创文章,版权声明:自由转载-非商用-非衍生-保持署名