Autolayout UIView 和UILabel 的區(qū)別

? ? ? ? 所知,UILabel繼承自UIView 滿足NSCoding,UIContentSizeCategroyAdjusting兩個協(xié)議。那么在Autolayout的世界中塔插,是否可以作為一視同仁呢冠摄?從中有能揭開多少autolayout的面紗呢糯崎?


圖1 ??

????????形如圖1,考慮這樣一個問題:一個UIView 居中放置在一個控制器的View上河泳,其大小是由它的兩個子視圖的大小決定的沃呢。如果兩個子視圖的size已知,那么可以十分輕易的確定UIView的小大拆挥。

? ? ? ? 再者開來薄霜,兩個子視圖 可能是UIView 也可以是UILabel。當對于一個UILabel 來說纸兔,我們可以不用控制其長度惰瓜,因為它可以由自己的ContenSize來決定寬高。

? ? ? ? 試想汉矿,現(xiàn)在有一個需求鸵熟,動態(tài)的出現(xiàn)和消失第一個子視圖,這個時候负甸,如果用AutoLayout來解決問題流强,就要對第二個子視圖,添加一個低等級的約束呻待。

圖2

? ? ? ? 如圖2打月,對第二個子視圖添加一個低等級800對父視圖左邊的為0的約束。十分輕松的添加上了蚕捉。這個時對UILabel 進行同樣的操作奏篙,則出現(xiàn)了圖3的情況

圖3

? ? ? ? WTF?明明第一個UILabel迫淹,已經(jīng)確定了contensize秘通,為什么contensize的寬變成0,UILabel是有內(nèi)容的啊敛熬。難道是storyboard的問題肺稀,運行一下項目,無事發(fā)生应民。到底是什么原因呢话原?這里被絆住了好一陣夕吻。

? ? ? ? 結(jié)果是很簡單:你需要調(diào)節(jié)一下UILabel約束的等級,設(shè)置成700時繁仁,就會發(fā)現(xiàn)能按愿望完美展示了涉馅。具體的原因,猜想黄虱,應(yīng)該是UILabel的contensize的約束的等級的臨界值在700附近稚矿,當約束大于800會使得contensize的約束失效。即使UILabel內(nèi)部有text也起不到作用捻浦。

? ? ? ? 上篇說了晤揣,autolayout是可以在運行的時候進行調(diào)試的,下面就附上一個例子默勾。


圖4

? ? ? ? 圖4碉渡,可以看出右邊的UILabel聚谁,并沒有完全的展開母剥。具體什么原因,我們可以形导,打開Xcode自帶視圖調(diào)控环疼。獲取相應(yīng)的圖層結(jié)構(gòu)。


圖5


圖6

圖5朵耕,為左邊正常展開的UILabel的約束炫隶。圖6,為右邊不正常展開的UILabel的約束阎曹∥苯祝可以看到第二個self.width 變灰,證明其已經(jīng)失效了处嫌。如果一時間看不出來頭緒栅贴,我們可以查看一下父視圖的約束,如圖7.


圖7

大致看一下熏迹,你會發(fā)現(xiàn) self.trailing = label.trailing +40@1000檐薯。特別的扎眼。它讓self.trailing = label.trailing@1000注暗。失效了坛缕。回到原來的nib文件捆昏。


圖8

確實赚楚,在毫無感覺的情況下,我們添加了一個對allFordLabel的40的約束骗卜。刪掉這個約束直晨。文件沒有正常搀军,重新運行項目,視圖已經(jīng)恢復正常了勇皇。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末罩句,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子敛摘,更是在濱河造成了極大的恐慌门烂,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件兄淫,死亡現(xiàn)場離奇詭異屯远,居然都是意外死亡,警方通過查閱死者的電腦和手機捕虽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門慨丐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人泄私,你說我怎么就攤上這事房揭。” “怎么了晌端?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵捅暴,是天一觀的道長。 經(jīng)常有香客問我咧纠,道長蓬痒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任漆羔,我火速辦了婚禮梧奢,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘演痒。我一直安慰自己亲轨,他們只是感情好,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布嫡霞。 她就那樣靜靜地躺著瓶埋,像睡著了一般。 火紅的嫁衣襯著肌膚如雪诊沪。 梳的紋絲不亂的頭發(fā)上养筒,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天,我揣著相機與錄音端姚,去河邊找鬼晕粪。 笑死,一個胖子當著我的面吹牛渐裸,可吹牛的內(nèi)容都是我干的巫湘。 我是一名探鬼主播装悲,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼尚氛!你這毒婦竟也來了诀诊?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤阅嘶,失蹤者是張志新(化名)和其女友劉穎属瓣,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體讯柔,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡抡蛙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了魂迄。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片粗截。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖捣炬,靈堂內(nèi)的尸體忽然破棺而出熊昌,到底是詐尸還是另有隱情,我是刑警寧澤遥金,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布浴捆,位于F島的核電站谣拣,受9級特大地震影響泡态,放射性物質(zhì)發(fā)生泄漏拙已。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一美莫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧梯捕,春花似錦厢呵、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至短曾,卻和暖如春寒砖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背嫉拐。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工哩都, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人婉徘。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓漠嵌,卻偏偏與公主長得像咐汞,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子儒鹿,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

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