1、autoresizing:
autoresizing使用用來描述 父控件與子控件之間的關(guān)系,而不能描述同級控件或者非父子控件關(guān)系的其他級控件約束關(guān)系。
通過6根線來描述約束關(guān)系。默認為 上左反向的線。表示上、左與父控件間距不變。其他方向和寬高自由。(隨父控件變化而變化)。
這6根線搞明白,基本autoresizing就懂了。這里就不一一解釋啦。
現(xiàn)在一般情況不使用autoresizing了。
使用注意事項:在使用Xib或者SB時,Xcode默認是autolayout。需要取消勾選。在尺寸檢測器中,就可以直接設(shè)置。
在代碼創(chuàng)建過程中,Xcode默認是autoresizing。 直接設(shè)置就好啦。
當約束確定后可以修改frame。
2、autolayout :
autolayout 不僅可以描述子父控件關(guān)系,也可以描述同級以及其他級的控件約束關(guān)系。
具體使用,就在如圖的位置設(shè)置就好。多的我也不說啦。
使用注意事項:在Xib和SB的情況下應(yīng)該不會出現(xiàn)太多的問題,除非約束設(shè)置錯誤。
在代碼創(chuàng)建的時候,約束添加到哪里這個很重要,記住一個原則除了自身屬性約束,其他約束都加在“共同父控件”中。大概解釋一下這個“共同父控件”。意思就是:如果A->B->C ,D->E->C 。A和D的共同父控件就為C。
在或者:A->B->C. A和B的共同父控件是C。 這樣大概意思應(yīng)該是差不多了。
還有一個就是因為代碼創(chuàng)建時,Xcode默認是autoresizing,說以需要關(guān)掉做約束對象控件的Autoresizing。
重點:當使用autolayout布局完成后不能直接修改控件的Frame,可以通過設(shè)置該控件使用autoresizing。
self.myScroll.translatesAutoresizingMaskIntoConstraints = YES;? 然后再去修改frame。
Masnory的使用和Autolayout的注意是一致的。
布局這一塊有一個大坑,最近可能會更一個關(guān)于scrollView的布局問題。
mark一下:http://blog.csdn.net/abelyulbb/article/details/52296173