Content Hugging Priority and Content Compression resistance Priority

概念

Conent Hugging *
<pre>內(nèi)容抱緊:在此基礎(chǔ)上不再
變大</pre>
Content Compression
<pre>內(nèi)容壓縮:在此基礎(chǔ)上不再
變小*</pre>

舉個(gè)栗子

view上面放兩個(gè)UILabel,兩個(gè)Label水平,且上下左右都有約束。

  • First step 對(duì)這兩個(gè)約束不做任何改動(dòng),如下設(shè)置
    <pre>self.leftLabel.text = @"aaaaaaaaaaaa";</br>self.leftLabel.textColor = [UIColor redColor];</br>self.rightLabel.text = @"bbbbb";</br>self.rightLabel.textColor = [UIColor greenColor];</pre>
左邊是leftLabel、右邊是rightLabel.png

可見:默認(rèn)情況下,右邊的都展示出來了,而左邊的沒有都展示出來。因?yàn)?strong>蘋果為了保證約束,犧牲了Label內(nèi)容的大小,用...來表示了

  • Second step 修改兩個(gè)Label水平方向上的Content Compression的優(yōu)先級(jí),讓leftLabel小于rightLabel,讓rightLabel不被壓縮
leftLabel content compression 約束的優(yōu)先級(jí)小于 rightLabel.png

可見:rightLabel都展示出來了,而leftLabel的內(nèi)容被犧牲了,滿足了約束的需求。

Tip:其實(shí)還有種方法能滿足上面的需求

rightLabel的右側(cè)約束的優(yōu)先級(jí)改成比content compression還低,蘋果會(huì)犧牲該約束的長(zhǎng)度,來滿足需求。效果和上圖一樣。
size :{ 100, 30 }
horizontal/vertical compression resistance priority of 750
and horizontal/vertical content hugging priority of 250
four constraints will be generated:

H:[label(<=100@250)]
H:[label(>=100@750)]
V:[label(<=30@250)]
V:[label(>=30@750)]

也就是說compression最小不能小于某個(gè)值,hugging的最大不能大于某個(gè)值

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

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

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