1、autoresizing:
autoresizing使用用来描述 父控件与子控件之间的关系,而不能描述同级控件或者非父子控件关系的其他级控件约束关系。
通过6根线来描述约束关系。默认为 上左反向的线。表示上、左与父控件间距不变。其他方向和宽高自由。(随父控件变化而变化)。
这6根线搞明白,基本autoresizing就懂了。这里就不一一解释啦。
现在一般情况不使用autoresizing了。
使用注意事项:在使用Xib或者SB时,Xcode默认是autolayout。需要取消勾选。在尺寸检测器中,就可以直接设置。
在代码创建过程中,Xcode默认是autoresizing。 直接设置就好啦。
当约束确定后可以修改frame。
2、autolayout :
autolayout 不仅可以描述子父控件关系,也可以描述同级以及其他级的控件约束关系。
具体使用,就在如图的位置设置就好。多的我也不说啦。
使用注意事项:在Xib和SB的情况下应该不会出现太多的问题,除非约束设置错误。
在代码创建的时候,约束添加到哪里这个很重要,记住一个原则除了自身属性约束,其他约束都加在“共同父控件”中。大概解释一下这个“共同父控件”。意思就是:如果A->B->C ,D->E->C 。A和D的共同父控件就为C。
在或者:A->B->C. A和B的共同父控件是C。 这样大概意思应该是差不多了。
还有一个就是因为代码创建时,Xcode默认是autoresizing,说以需要关掉做约束对象控件的Autoresizing。
重点:当使用autolayout布局完成后不能直接修改控件的Frame,可以通过设置该控件使用autoresizing。
self.myScroll.translatesAutoresizingMaskIntoConstraints = YES; 然后再去修改frame。
Masnory的使用和Autolayout的注意是一致的。
布局这一块有一个大坑,最近可能会更一个关于scrollView的布局问题。
mark一下:http://blog.csdn.net/abelyulbb/article/details/52296173