์คํ ๋ ์ด์์์์ ์ฌ์ฉ๋๋ ๊ฐ์ผ๋ก์, Content Priority ์์ฑ์ hugging
, resistance
๋ ์ข
๋ฅ๊ฐ ์๋ค. ์๋ค๋ Priority๋ฅผ ์ค์ ํด ์ค ์ ์๋๋ฐ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณตํด์ฃผ๋ IntrinsicContentSize
์ ์ด์ฉํด์ ์คํ ๋ ์ด์์์ ์ก๊ณ ์ถ์ ๊ฒฝ์ฐ ์ฌ์ฉํ ์ ์๋ค.
Size Inspector ํ๋จ๋ถ์ ๋ณด๋ฉด ์ด๋ ๊ฒ ์ค์ ํ ์ ์๊ฒ ๋์ด์๋ค.
-
"์ปจํ ์ธ ๊ณ ์ ์ฌ์ด์ฆ"์ด๋ค. UILabel, UIButton, UIImageView๋ฑ์ ๊ฐ์ฒด๋ฅผ ๋ง๋ค ๋, ์ง์ ์ฌ์ด์ฆ๋ฅผ ์ ์ฉํ์ง ์์๋ ์ ๋ง๋ค์ ํฌ๊ธฐ๊ฐ ์ง์ ๋์ด ๋์ค๋ ๊ฒ์ด ๋ฐ๋ก ์ด ํ๋กํผํฐ ๋๋ฌธ์ด๋ค. Label์ text์ ๋ง๊ฒ ์ด ๊ฐ์ด ์๋์ผ๋ก ์กฐ์ ๋๊ณ ImageView๋ ๋ง์ฐฌ๊ฐ์ง์ด๋ค.
๊ทธ๋ฌ๋ ์์ UIView๋ ๋ฃ๊ณ ์คํ ๋ ์ด์์์ ์ค์์ผ๋ก๋ง ์ก์ผ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. ์ฝํ ์ด๋ ๋ทฐ ์ญํ ์ ํ๋ ๋ทฐ๋ค์ ๊ณ ์ ์ฌ์ด์ฆ๊ฐ ์๋ค. UILabel, UIButton, UIImageView์ ๋ฌ๋ฆฌ ๊ณ ์ ์ฌ์ด์ฆ๋ฅผ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ฒ ๋๋ค. -
-
intrinsicContentSize
๋ get-only ํ๋กํผํฐ๋ผ ์์ ์ด์๋๊ณframe
์ ์์ ์ด๊ฐ๋ฅํ๋ค. -
frame
์์ญ์ ์์ ํ๋ค๊ณ ํด์intrinsicContentSize
์ ๊ฐ์ด ๋ฌ๋ผ์ง์ง์๋๋ค. ์๋ก ์์กดํ๊ณ ์์ง์๊ธฐ๋๋ฌธ์intrinsicContentSize
๋ฅผ ํตํด ๋ทฐ์ ๋ณธ๋ ์ฌ์ด์ฆ๋ฅผ ์ ์ ์๋ค.
-
-
ํ๊น = ๊ฐ์ธ๋ค = ์์ผ๋ก ์ค์ด๋ค๋ค
, ์๋์ ์ผ๋ก ์์์ง๋ ค๊ณ ํ๋ ์ธ๊ธฐ๋ฅผ ์๋ฏธํ๋ค.
์ปจํ ์ธ ๊ณ ์ ์ฌ์ด์ฆ(IntrinsicContentSize
) ๋ณด๋ค ๋ทฐ๊ฐ ์ปค์ง์ง ์๋๋ก ์ ํํ๋ ์ฐ์ ๋์ด๋ค. ๋ค๋ฅธ ์ ์ฝ์ฌํญ๋ณด๋ค ์ฐ์ ๋๊ฐ ๋์ผ๋ฉด ๋ทฐ๊ฐ ์ปจํ ์ธ ์ฌ์ด์ฆ๋ณด๋ค ์ปค์ง์ง ์๋๋ค.๋จ์ ์ฌ๋ฐฑ์ ๋ ์ค ์ด๋ค Label๋ก ์ฑ์ธ๊ฑฐ๋? ํฌ๊ธฐ๊ฐ ๋์ด๋๊ฒํ์ง ์์ Label์ ์ฐ์ ์์๋ฅผ ๋ ๋๊ฒ ์ง์ ํ๋ ด
์ฐ์ ์์๊ฐ ๋์ผ๋ฉด ๊ณ ์ ์ฌ์ด์ฆ ์ ์ง, ์ฐ์ ์์๊ฐ ๋ฎ์ผ๋ฉด ํฌ๊ธฐ๊ฐ ๋์ด๋๋จ๋ค.
["LEFT" label]["RIGHT" label]
์ leading, trailing 0์ ์ฃผ๋ฉด ์๋์ ๊ฐ์์ง๋ค.
๊ทธ๋ฆฌ๊ณ horizontal hugging ์ฐ์ ์์๋ฅผ ์กฐ์ ํ๋ผ๋ ์ค๋ฅ๊ฐ ๋๋ค.
์ฌ๊ธฐ์
hugging priority
๊ฐํ๋์
>์ฃผํฉ์
์ด ๋๋ฉด ๋ ์ค ๋ ๋ฎ์ ์ฃผํฉ์์ด ๋๋จธ์ง ๊ณต๊ฐ์ ์ฑ์ฐ๊ฒ ๋๋ค.
-
resistance = ์ ํญํ๋ค = ๋ฐ๊นฅ์ผ๋ก ๋์ด๋๋ค
, ์๋์ ์ผ๋ก ์ปค์ง๋ ค๊ณ ํ๋ ์ธ๊ธฐ๋ฅผ ์๋ฏธํ๋ค. ์ปจํ ์ธ ๊ณ ์ ์ฌ์ด์ฆ(IntrinsicContentSize
)๋ณด๋ค ๋ทฐ๊ฐ ์์์ง์ง ์๋๋ก ์ ํํ๋ค. ๋ค๋ฅธ ์ ์ฝ์ฌํญ๋ณด๋ค ์ฐ์ ๋๊ฐ ๋์ผ๋ฉด ๋ทฐ๊ฐ ์ปจํ ์ธ ์ฌ์ด์ฆ ๋ณด๋ค ์์์ง์ง ์๋๋ค.๊ณต๊ฐ์ด ์ข์๋ฐ ๋๊ฐ ์ค์ด๋ค๋? ํฌ๊ธฐ๊ฐ ์ค์ด๋ค์ง ์์ Label์ ์ฐ์ ์์๋ฅผ ๋ ๋๊ฒ ์ง์ ํ๋ ด
์ฐ์ ์์๊ฐ ๋์ผ๋ฉด ๊ณ ์ ์ฌ์ด์ฆ ์ ์ง, ์ฐ์ ์์๊ฐ ๋ฎ์ผ๋ฉด ํฌ๊ธฐ๊ฐ ์์์ง๋จ๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก ์๊น์ฒ๋ผ ์คํ ๋ฅผ ์ก๊ณ ์ด๋ฒ์ ๋ผ๋ฒจ์ ๋๋น๊ฐ(๋ด์ฉ์ด) ํ๋ฉด์ ๋์ด๊ฐ๋๋ก ๋ด์ฉ์ ๋ง์ด ์์ฑํ์๋ค. ๊ทธ๋ฌ๋๋ ์ด๋ฒ์ horizontaol compression ์ฐ์ ์์๋ฅผ ์กฐ์ ํ๋ผ๋ ์ค๋ฅ๊ฐ ๋๋ค.
์ฌ๊ธฐ์
compression priority
๊ฐํ๋์
>์ฃผํฉ์
์ด ๋๋ฉด ๋ ์ค ๋ ๋ฎ์ ์ฃผํฉ์์ด ํ๋์์ด ํ์ํ ๊ณต๊ฐ์ ์๋ณดํ๋ฉฐ ์ค์ด๋ค๊ฒ๋๋ค.