使用代碼實現(xiàn)Autolayout的方法

使用代碼實現(xiàn)Autolayout的方法1

  • 創(chuàng)建約束
+(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 :與參照控件之間的關(guān)系
* view2 :參照的控件
* attr2 :約束的類型(做怎樣的約束)
* multiplier :乘數(shù)
* c :常量
  • 添加約束
- (void)addConstraint:(NSLayoutConstraint *)constraint;
- (void)addConstraints:(NSArray *)constraints;
  • 注意
    • 一定要在擁有父控件之后再添加約束
    • 關(guān)閉Autoresizing功能
    view.translatesAutoresizingMaskIntoConstraints = NO;
    

使用代碼實現(xiàn)Autolayout的方法2 - VFL

  • 使用VFL創(chuàng)建約束數(shù)組
+ (NSArray *)constraintsWithVisualFormat:(NSString *)format
options:(NSLayoutFormatOptions)opts
metrics:(NSDictionary *)metrics
views:(NSDictionary *)views;
* format :VFL語句
* opts :約束類型
* metrics :VFL語句中用到的具體數(shù)值
* views :VFL語句中用到的控件
  • 使用下面的宏來自動生成views和metrics參數(shù)
NSDictionaryOfVariableBindings(...)

使用代碼實現(xiàn)Autolayout的方法3 - Masonry

  • 使用步驟
    • 添加Masonry文件夾的所有源代碼到項目中
    • 添加2個宏罕拂、導(dǎo)入主頭文件
    // 只要添加了這個宏,就不用帶mas_前綴
    #define MAS_SHORTHAND
    

// 只要添加了這個宏痰洒,equalTo就等價于mas_equalTo

define MAS_SHORTHAND_GLOBALS

// 這個頭文件一定要放在上面兩個宏的后面

import "Masonry.h"

```
  • 添加約束的方法
// 這個方法只會添加新的約束
 [view makeConstraints:^(MASConstraintMaker *make) {

 }];

// 這個方法會將以前的所有約束刪掉,添加新的約束
 [view remakeConstraints:^(MASConstraintMaker *make) {

 }];

 // 這個方法將會覆蓋以前的某些特定的約束
 [view updateConstraints:^(MASConstraintMaker *make) {

 }];
  • 約束的類型
1.尺寸:width\height\size
2.邊界:left\leading\right\trailing\top\bottom
3.中心點:center\centerX\centerY
4.邊界:edges
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市会烙,隨后出現(xiàn)的幾起案子耀里,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件呐萨,死亡現(xiàn)場離奇詭異杀饵,居然都是意外死亡,警方通過查閱死者的電腦和手機谬擦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門切距,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人惨远,你說我怎么就攤上這事谜悟《督觯” “怎么了逃片?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵升熊,是天一觀的道長捕虽。 經(jīng)常有香客問我笤喳,道長词裤,這世上最難降的妖魔是什么寨昙? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任僻肖,我火速辦了婚禮掠归,結(jié)果婚禮上缅叠,老公的妹妹穿的比我還像新娘。我一直安慰自己虏冻,他們只是感情好肤粱,可當(dāng)我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著厨相,像睡著了一般领曼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蛮穿,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天庶骄,我揣著相機與錄音,去河邊找鬼践磅。 笑死单刁,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的府适。 我是一名探鬼主播羔飞,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼檐春!你這毒婦竟也來了逻淌?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤疟暖,失蹤者是張志新(化名)和其女友劉穎恍风,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體誓篱,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡朋贬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了窜骄。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锦募。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖邻遏,靈堂內(nèi)的尸體忽然破棺而出糠亩,到底是詐尸還是另有隱情,我是刑警寧澤准验,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布赎线,位于F島的核電站,受9級特大地震影響糊饱,放射性物質(zhì)發(fā)生泄漏垂寥。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一另锋、第九天 我趴在偏房一處隱蔽的房頂上張望滞项。 院中可真熱鬧,春花似錦夭坪、人聲如沸文判。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽戏仓。三九已至,卻和暖如春亡鼠,著一層夾襖步出監(jiān)牢的瞬間赏殃,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工拆宛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留嗓奢,地道東北人。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓浑厚,卻偏偏與公主長得像股耽,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子钳幅,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內(nèi)容