標籤:
Autolayout是一種“自動布局”技術,專門用來布局UI介面Autolayout能很輕鬆地解決螢幕適配問題Autolayout的兩條核心概念: >1 參照:通過參照其他控制項或父控制項來設定當前控制項地位置和大小 >2 約束Constraints(規則):通過添加約束限制控制項地位置和大小
代碼實現
Autolayout
的步驟: 1. 利用NSLayoutConstraint類建立具體的約束對象 2. 添加約束對象到相應的view上- (void)addConstraint:(NSLayoutConstraint *)constraint;- (void)addConstraints:(NSArray *)constraints;
- 代碼實現Autolayout的注意點:
1》 要先禁止autoresizing功能,設定view的下面屬性為NOview.translatesAutoresizingMaskIntoConstraints = NO;2》 添加約束之前,一定要保證相關控制項都已經在各自的父控制項上3》不用再給view設定frame 一個NSLayoutConstraint對象就代表一個約束建立約束對象的常用方法
+(id)constraintWithItem:(id)view1 attribute:(NSLayoutAttribute)attr1 relatedBy:(NSLayoutRelation)relation toItem:(id)view2 attribute:(NSLayoutAttribute)attr2 multiplier:(CGFloat)multiplier constant:(CGFloat)c;
view1 :要約束的控制項attr1 :約束的類型(做怎樣的約束)relation :與參照控制項之間的關係view2 :參照的控制項attr2 :約束的類型(做怎樣的約束)multiplier :乘數c :常量
自動布局有個核心公式: obj1.property1 =(obj2.property2 * multiplier)+ constant value
IOS中的自動布局