AutoLayout+VFL

代碼中的尺寸不要使用480耸三、460這樣的絕對數(shù)值乱陡,使用的UIScreen取設(shè)備的尺寸。

vfl使用規(guī)則

| :表示父視圖

- :表示距離

V: :表示垂直

H: :表示水平

>= :表示視圖間距仪壮、寬度和高度必須大于或等于某個值

<= :表示視圖間距憨颠、寬度和高度必須小宇或等于某個值

== :表示視圖間距、寬度或者高度必須等于某個值

@ :>=积锅、<=爽彤、==限制 最大為1000

1.|-[view]-|:視圖處在父視圖的左右邊緣內(nèi)

2.|-[view] :視圖處在父視圖的左邊緣

3.|[view] :視圖和父視圖左邊對齊

4.-[view]- :設(shè)置視圖的寬度高度

5.|-30.0-[view]-30.0-|:表示離父視圖 左右間距30

6.[view(200.0)] :表示視圖寬度為200.0

7.|-[view(view1)]-[view1]-|:表示視圖寬度一樣,并且在父視圖左右邊緣內(nèi)

8.|-[view(view1)]-|:方括號表示view缚陷,圓括號表示尺寸數(shù)值适篙。支持大小等于◇镆或者另一個view(不支持倍數(shù))

9. V:[view(50.0)] :視圖高度為50

10:V:|-(==padding)-[imageView]->=0-[button]-(==padding)-|

:表示離父視圖的距離

為Padding,這兩個視圖間距必須大于或等于0并且距離底部父視圖為padding嚷节。

11: [wideView(>=60@700)] :視圖的寬度為至少為60不能超過700聂儒,最大為1000

12:如果沒有聲明方向默認(rèn)為水平H:

必要時使用單個約束。

+(id)constraintWithItem:(id)view1?attribute:(NSLayoutAttribute)attr1?relatedBy:(NSLayoutRelation)relation?toItem:(id)view2?attribute:(NSLayoutAttribute)attr2?multiplier:(CGFloat)multiplier?constant:(CGFloat)c;

注意事項:

1.addConstraint(s)前硫痰,view應(yīng)該去部被addSubView上去了衩婚。

2.不必給views寫frame

3.給必要的view關(guān)掉AutoresizeingMask。[_aViewsetTranslatesAutoresizingMaskIntoConstraints:NO];

4.UILabel換行要寫linebreakMode,要寫numberOfLines(iOS7.0默認(rèn)好像是1)

5.UILabel要想換行碍论,一定要添加preferredMaxLayoutWidth谅猾。否則沒法初始化寬度柄慰。

代碼:命名必須有意義如vfl_phoneLabel_H表示水平約束

NSDictionary *views =NSDictionaryOfVariableBindings(_phoneNumLabel,_phoneNumField);

NSDictionary *metrics =@{@"hPadding":@25,@"vPadding":@10,@"imageEdge":@150.0};

NSString *vfl_phoneLabel_H =@"H:|-hPadding-[_phoneNumLabel]-vPadding-[_phoneNumField(_phoneNumLabel)]-hPadding-|";

NSString *vfl_phoneLabel_V = @"V:|-50-[_phoneNumLabel(30)]";

NSString *vfl_phoneField_V =@"V:|-50-[_phoneNumField(_phoneNumLabel)]";

[self.viewaddConstraints:[NSLayoutConstraint constraintsWithVisualFormat:vfl_phoneLabel_Hoptions:0 metrics:metrics views:views]];

[self.view addConstraints:[NSLayoutConstraintconstraintsWithVisualFormat:vfl_phoneLabel_V options:0 metrics:metricsviews:views]];

[self.view addConstraints:[NSLayoutConstraintconstraintsWithVisualFormat:vfl_phoneField_V options:0 metrics:metricsviews:views]];

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鳍悠,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子坐搔,更是在濱河造成了極大的恐慌藏研,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件概行,死亡現(xiàn)場離奇詭異蠢挡,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)凳忙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進(jìn)店門业踏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人涧卵,你說我怎么就攤上這事勤家。” “怎么了柳恐?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵伐脖,是天一觀的道長。 經(jīng)常有香客問我乐设,道長讼庇,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任近尚,我火速辦了婚禮蠕啄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘戈锻。我一直安慰自己歼跟,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布舶沛。 她就那樣靜靜地躺著嘹承,像睡著了一般。 火紅的嫁衣襯著肌膚如雪如庭。 梳的紋絲不亂的頭發(fā)上叹卷,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天撼港,我揣著相機(jī)與錄音,去河邊找鬼骤竹。 笑死帝牡,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蒙揣。 我是一名探鬼主播靶溜,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼懒震!你這毒婦竟也來了罩息?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤个扰,失蹤者是張志新(化名)和其女友劉穎瓷炮,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體递宅,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡娘香,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了办龄。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片烘绽。...
    茶點故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖俐填,靈堂內(nèi)的尸體忽然破棺而出安接,到底是詐尸還是另有隱情,我是刑警寧澤玷禽,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布赫段,位于F島的核電站,受9級特大地震影響矢赁,放射性物質(zhì)發(fā)生泄漏糯笙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一撩银、第九天 我趴在偏房一處隱蔽的房頂上張望给涕。 院中可真熱鬧,春花似錦额获、人聲如沸够庙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽耘眨。三九已至,卻和暖如春境肾,著一層夾襖步出監(jiān)牢的瞬間剔难,已是汗流浹背胆屿。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留偶宫,地道東北人非迹。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像纯趋,于是被迫代替她去往敵國和親憎兽。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,860評論 2 361

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