Auto Layout priority  swift label編

#■UILabelの動き

color 文字色変わる

Font 文字のでかさ　太さ等を変える

Aligment 文字の位置　左揃え　中央　右揃え

#■Lines 重要
1 なら 1行
![スクリーンショット 2021-04-30 19.30.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1099804/d782363b-1ade-e9a7-292a-b2079ffbcf78.png)

2 なら　2行
![スクリーンショット 2021-04-30 19.30.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1099804/50ad3998-6f87-0186-604e-92e3be4e97c6.png)

3 なら　3行
![スクリーンショット 2021-04-30 19.30.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1099804/71684710-886a-f711-5694-4c7101a6d312.png)

文字数が多ければLinesの数値によって行が変わる。

■しかし0なら下記のように決められた幅に自動で文字が入る動きをする。

![スクリーンショット 2021-04-30 19.29.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1099804/22dbd6f5-0e1b-15a0-6e5e-b390cbb3b6d2.png)



#■priorty(優先度)
priorityとは制約が持つ優先度の値の事です。

とりあえず1から1000の数値を持っております。

数字が高いほど優先度が高くなります。
比べるのはAutoLayOutが持つpriorityとcontentが持つpriority

AutoLayOutのデフォルトの数値は1000になり,
一番優先度高くなります。
(AutoLayOutが1000Contentが1000の時AutoLayOutが勝利する。)

■この事を踏まえてまずこちらをご覧ください。

■余白
例:UIlabelを指定してます。 文字以外の緑が大きく広がっているこれが余白がある状態
![スクリーンショット 2021-04-30 23.38.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1099804/eba7c991-971c-ac04-87f1-c07e463a34d0.png)

■潰れ 
文字長くて収まらない時...となる。
![スクリーンショット 2021-04-30 23.41.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1099804/9e08a423-e4c2-e825-c912-f99b7f674e47.png)

この余白と潰れを自在に操れたりもできます。

#■Contentのpriority
例：top,bottom,leeling,tralingの制約をつけた状態のUILabel(content)を指定
右メニューの下らへん
![スクリーンショット 2021-04-30 23.48.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1099804/929869f2-79bf-431f-3d1a-8466de29c1b9.png)


Content Hugging Priority(余白)
Content Compression Resistance Priority(潰れ)
の2つに注目
互いにHorizontal(横) Vertical(縦)　の値が存在する。

#■AutoLayOutのpriorityをつける。
@750がついてるのがpriorityを変更した場合
ついてない制約はpriorityがデフォルトで最強の1000がついてる。
![スクリーンショット 2021-05-01 0.01.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1099804/3ebb8b8e-fb62-6d8a-b29b-d504e064c3d3.png)

制約を選び右端のメニューからいじれる
![スクリーンショット 2021-05-01 0.45.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1099804/de3d84e7-13fc-3acb-47bd-64263bfca50d.png)



#■上記の二つのpriorityを比べる
■Content Hugging Priority(余白なくす)
余白をなくす君

下記のような余白があるLabelがあるとする。
![スクリーンショット 2021-05-01 0.12.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1099804/566bc5fa-a3b8-18ec-04f7-a3c58a3c9e1e.png)


■余白なくしてみる。
例:AutoLayoutで定めたpriorityよりContent Hugging Priorityのvertical(縦)のpriorityが高い
AutoLayout bottomの制約のpriorityが750　負け
Content Hugging verticalのPriorityが1000　勝利
縦の余白なくす君の勝利
結果：縦の余白をなくす事ができる。
![スクリーンショット 2021-05-01 0.09.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1099804/ae055729-6940-9580-5257-a6425986f132.png)

例：逆にAutoLayOutのbottomのpriorityをいじらなければデフォルトで1000なので
AutoLayout bottomの制約のpriorityが1000　圧倒的勝利
Content Hugging Priorityのverticalが1000　負け
AutoLayOutのデフォルトの勝利
結果:余白ができる。　(お互い1000ならAutoLayOutが優先される。)

![スクリーンショット 2021-05-01 0.12.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1099804/e7e2b9b8-c168-2ca2-5f11-1c8bbed93025.png)

つまりAutoLayOutのみで制約すればこのように広がる制約をつけている。
でも余白いらんなと思ったらpriorityを使用して余白を消す事ができる！
制約の右側のpriorityとHorizontalをいじれば横の余白も消せる。
無駄な制約を減らせる。


■Content Compression Resistance Priority(潰れなくす)
潰れなくする君

下記のようなこういったlabelがあるとする。
Linesを1行にした場合文字が多ければ潰れる。
![スクリーンショット 2021-05-01 0.25.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1099804/18d3a89c-f65e-5bc3-bca6-ba573007305a.png)

■例：潰れなくしてみる。
trailing(右)のAutoLayoutのpriorityを750　負け
Content Compression Resistance PriorityのHorizontalのpriorityが1000　勝利
潰れなくす君の勝利
結果:潰れなくなるので下記のように横に飛び出す。
![スクリーンショット 2021-05-01 0.30.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1099804/47b63409-d578-d074-6d67-661b070d0d3a.png)


例:潰れる
tariling(右)のAutoLayOutがpriorityがデフォルト　圧倒的勝利
Content Compression Resistance PriorityのHorizontalのpriorityが1000　負け
AotolayOutのデフォルトの勝利
結果:最初のように潰れる
![スクリーンショット 2021-05-01 0.25.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1099804/ddc2a8b1-336d-d1be-c59e-cbc5a17ce631.png)

trailingのpriorityをなんもいじってないからデフォルトの最強の優先度になって
デフォルトで潰れが発生している。