iOS AutoLayout進階(二)Content Hugging Priority

前言

本文將給大家介紹AutoLayout的Content Hugging Priority,說通俗一點就是"視圖的抗拉伸優(yōu)先級".
說到Content Hugging Priority不得不提Content Compression Resistance(抗壓縮優(yōu)先級),我會在下一篇文章詳細來介紹它

一. 本篇重點介紹:Content Hugging Priority

許多開發(fā)者可能對這個屬性比較陌生,這個屬性對有intrinsic content size的控件(例如button,label)非常重要.
注:具有intrinsic content size的控件當你設置內容后,它可以根據(jù)內容多少來調整自己大小.

1. Content Hugging Priority:

抗拉伸優(yōu)先級,
值越小,視圖越容易被拉伸

2. 使用場景:

當一個視圖上有多個intrinsic content size的控件動態(tài)尺寸,在這幾個視圖內容總和,不夠填充父視圖區(qū)域時,此屬性可以控制優(yōu)先拉伸哪個視圖內容.

3. Content Hugging Priority在約束界面如下位置:
Content Hugging Priority.png

二. 代碼示例:

1.新建工程,我們添加一個固定大小的視圖view,在這個view上放2個label,分別為紅綠,分別對其添加如下約束:

紅label約束:上0,左0,右0
綠label約束:上0,左0,右0,下0

均不給高度約束,高度由label文字多少自己決定,
此時你會發(fā)現(xiàn),添加完以上約束后,會報下面錯誤:

error.png

這個錯誤的意思是說:

  • 這2個label都是動態(tài)高度(未添加高度約束),
  • 當2個label總高度小于父view高度時,AutoLayout不知道優(yōu)先拉伸哪個label.
  • 當2個label總高度大于父view高度時,AutoLayout不知道優(yōu)先壓縮哪個label.
  • 讓我們添加Content Hugging Priority抗拉伸和Content Compression Resistance抗壓縮優(yōu)先級.

注:本篇文章主要講Content Hugging Priority抗拉伸優(yōu)先級, Content Compression Resistance抗壓縮優(yōu)先級將放在下一篇文章來詳細介紹)

下面我們依次修改這2個label 縱向Content Hugging Priority值分別為:

紅label: vertical: 252
綠label: vertical: 251

添加完成后錯誤消失,效果如下:


紅-252,綠-251.png

因為綠色label縱向抗拉伸優(yōu)先級為251,小于紅色label的值252,所有當2個label內容不夠填充父視圖區(qū)域時,綠色label高度被拉伸了

下面我們來調換2個label縱向拉伸優(yōu)先級:

紅label: vertical: 251
綠label: vertical: 252

來看下效果:


紅-251,綠-252.png

此時,紅色label抗拉伸值小于綠色,所有紅色label被拉伸了

三.小結:

Content Hugging Priority 抗拉伸優(yōu)先級
值越小,越容易被拉伸,
此屬性在不手動計算UITableViewCell高度,UITableViewCell動態(tài)高度時,會起到重要作用,后面會結合實例來詳細介紹.


代碼地址:https://github.com/CoderZhuXH/AutoLayout

相關閱讀

iOS AutoLayout進階(一)Aspect Ratio
iOS AutoLayout進階(三)Content Compression Resistance Priority
iOS AutoLayout進階(四)Content Hugging Priority和Content Compression Resistance Priority綜合運用
iOS AutoLayout進階(五)UITableViewCell自動高度

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

相關閱讀更多精彩內容

友情鏈接更多精彩內容