Intrinsic Content Size

Intrinsic Content Size:直譯過來是固定內(nèi)容尺寸,它是autolayout里的一個重要概念。大多數(shù)控件有能力根據(jù)自己的內(nèi)容決定自己的size,比如UILabel根據(jù)文本可以確定自己的寬度和高度,這被稱作固定內(nèi)容尺寸。通常,使用Intrinsic Content Size需要設(shè)置view的 Content Compression Resistance PriorityContent Hugging Priority
新建一個工程,在storyboard里拖入一個Label;并且添加距離上間距和左間距的約束:

第一個label

放置第二個label,給第二個label添加左間距,上間距和右間距的約束:
第二個label

上面并沒有給兩個label設(shè)置寬和高的約束,
這兩個label的寬高現(xiàn)在是根據(jù)它的文本獲得的。我們把第一個label的文本改成A:
屏幕快照 2018-03-01 上午10.18.36.png

這時候會有Content Priority Ambigulty的錯誤。由于兩個label都沒有固定的寬度,當其中一個label文本變化需要改變size時,autolayout不知道該如何分配兩個label變化的比例。
按照它的提示,需要修改label的content priority,選中第一個label:
屏幕快照 2018-03-01 上午10.29.50.png

查看第二個label,第二個label的Content Hugging Priority和Content Compression Resistance Priority和第一個label是一樣的。

  • Content Hugging Priority:這個值越高表示越不容易被拉伸;
  • Content Compression Resistance Priority:這個值越高表示越不容易被壓縮;
    我們把第一個label的Content Hugging Priority的Horizontal改成252,此時它的不被拉伸優(yōu)先級高于第二個label;storyboard變成了下面這樣:


    屏幕快照 2018-03-01 上午10.43.04.png

    第二個label會被拉伸。

如果把第二個label的 Content Hugging Priority的值比第一個label設(shè)置的高,則第二個label不被拉伸,如下所示:

屏幕快照 2018-03-01 上午10.52.01.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 2系列200 OK請求已成功,請求所希望的響應(yīng)頭或數(shù)據(jù)體將隨此響應(yīng)返回。201 Created請求已經(jīng)被實現(xiàn),而且...
    Y像夢一樣自由閱讀 3,689評論 1 5
  • <!DOCTYPE html>
    鋒享前端閱讀 442評論 0 0
  • 1.首先大家通過這段時間的練習,都是有一些進步的。有些同學的進步特別大,有些同學的進步不是很明顯。首先告訴大家的是...
    loveenjoycalm閱讀 397評論 0 0
  • 過了個年,感覺有些代碼生疏了,所以先爬個簡書的推薦作者列表練個手。 這個網(wǎng)頁很簡單,而且連反爬措施都沒有,很適合新...
    kunkun_1230閱讀 266評論 0 0
  • 《奔跑吧兄弟》第五季應(yīng)該不會在今年播出了,因為廣電總局已經(jīng)明確的下達的新的通知:各電視上星綜合頻道每年在19:30...
    段子手萬千閱讀 2,492評論 0 0

友情鏈接更多精彩內(nèi)容