1. ๐ AutoLayout : Dynamic Text
1.0.1. ๋์ ํ ์คํธ ๊ตฌํ ๋ฐฉ๋ฒ


View์ ์์น๋ ์ํ, ์์ง์ผ๋ก ์ค์ ์ ํด์ฃผ์๊ณ
View๋ด imageView์ ์์น๋ฅผ ์ก์์ฃผ์ด์ผ ํ๋ค.
๊ฝ์ฐจ๊ฒ ๋ง๋ค๊ธฐ ์ํด, ์ํ์ข์ฐ ์ฌ๋ฐฑ์ 0์ผ๋ก ์ค์ ํ๋ฉด

๋น์จ์ด ๊นจ์ ธ์ ์ด์ํ๊ฒ ๋ณด์ผ ๊ฒ์ด๋ค.
๊ทธ ์ด์ ๋
imageView์ ํฌ๊ธฐ์ ๋ค์ด๊ฐ๋ image๋ฅผ ํฝ์ ๊ฐ ๊ทธ๋๋ก ๊ฐ์ ธ์๊ธฐ๋๋ฌธ์ด๋ค.
์ฆ, ์ ์ฝ์กฐ๊ฑด์ ์ง์ ํด์ฃผ์ง ์์์์ด๋ค.

๋จผ์ imageView์ ContentMode๋ฅผ Asfect Fit์ผ๋ก ์ค์ ํ๋ค.

๊ทธ๋ผ์๋ ์์ง ํฌ๊ธฐ๊ฐ ๋ง์ง ์๋๋ค.
image์ ์๋ณธ ํฌ๊ธฐ๋๋ก ์ฌ๋ฆฌ๋ ค๋ฉด -> ์ฌ์ง์ Aspect Ratio๋ฅผ ์ถ๊ฐํ์ฌ ์ฌ์ง์ ์๋ณธ ํฌ๊ธฐ(width, height )๋ฅผ ๋น์จ์ ์ค์ ํด์ค๋ค.



๊ทธ๋ผ imageView์ ํฌ๊ธฐ๊ฐ ํด๊ฒฐ ์๋ฃ ๋๋ค.

Label์ ์ถ๊ฐํ์๋๋ฐ, ์ด๋ ๊ฒ๋ง ๋ฐฐ์นํ๋ฉด ์๋ฎฌ๋ ์ดํฐ๊ฐ ๋ฌ๋ผ์ง๋ฉด Label์ ์์น๊ฐ ๋ฌ๋ผ์ง๊ฒ ๋๋ค.
์์ชฝ ์ฌ๋ฐฑ๊ณผ ์ํ์ ๋ ฌ์ ์ค์ ํ์ฌ๋ ๊ฐ์ผ๋ฏ๋ก,
๋ค๋ฅธ ๋ฐฉ๋ฒ์ธ ์ฌ์ง์ ํฌ๊ธฐ์ ๋ง๊ฒ ๋น์จ์ด ๋ฐ๋๋๋ก ํด์ผํ๋ค.

imageView์ Label์ ๊ฐ์ด ์ ํํ์ฌ
์ํ์ข์ฐ ๋ชจ๋ ์ ๋ ฌ์ ํ๋ค.

์ดํ, Label์ Align Bottom to ์์ฑ์ Multipier์ ๋น์จ์ ์ค์ ํด์ค๋ค.

์ด๋ ๊ฒํ๋ฉด ํญ์ ์ด ๋น์จ์ ์์น๋ก ์ค์ ๋๋ฏ๋ก, ๊ธฐ๊ธฐ๊ฐ ๋ฌ๋ผ์ ธ๋ ๊ฐ์ ์์น์ ์๊ฒ ๋๋ค.
์ดํ ํด์ผ ํ ์ผ์, ๊ธฐ๊ธฐ๋ณ๋ก ํฐํธ์ ํฌ๊ธฐ๋ฅผ ์ค์ ํด์ฃผ์ด์ผ ํ๋ค๋ ๊ฒ์ด๋ค.
์ฆ, ํด์๋๊ฐ ์์ผ๋ฉด ํฐํธ์ ํฌ๊ธฐ๋ ์๋์ ์ผ๋ก ์์์ ธ์ผ ํ๋ค๋ ๊ฒ์ด๋ค.
Label์ ์ ํํ๊ณ , ์ฐ์ธก์์
Autoshrink ๋ฅผ Minimum Font Scale ํน์ Minimum Font Size๋ก ๋ณ๊ฒฝํ๋ค.
=> ์๋์ ์ผ๋ก ์ฌ์ด์ฆ๋ฅผ ๋น์จ ํน์ ํด๋น ์ฌ์ด์ฆ๋ณ๋ก ๋ณ๊ฒฝํด์ค๋ค๋ ์์ฑ.
๐ก Autoshrink
AutoShrink๋ ๋ผ๋ฒจ์ ์ต์ ํฌ๊ธฐ๋ฅผ ์ง์ ํด ์ค ์ ์๋ค.
๋์ ์ผ๋ก ๋ผ๋ฒจ์ ํฌ๊ธฐ๊ฐ ๋ณํํ ๋ ์ต์ ์ด ํฐํธ ํฌ๊ธฐ๋ ์ ์งํด์ผํ๊ณ ์ต๋ ํฌ๊ธฐ๊ฐ ๋ฐ๋ก Font ๊ฐ ๋๋ ๊ฒ์ด๋ค.
๊ทธ๋์ ํฐํธ์ ํฌ๊ธฐ๋ ๊ฐ๋ก์ ๊ธธ์ด์ ๋ฐ๋ผ์ ๋์ ์ผ๋ก ๋ณํํ๊ฒ ๋ฉ๋๋ค.


Label์ trailing๊ณผ leading์ ์ ๊ฑฐํ๊ณ , ์ํ์ ๋ ฌ์ ํ๋๋ง ์ค์ ํด์ค๋ค
-> ๋ฐ๋๋ ํด์๋๋งํผ ํฌ๊ธฐ๊ฐ ๋ณํด์ผ ํ๊ธฐ ๋๋ฌธ์ ํฌ๊ธฐ ์ค์ ์ ์์ ๋ ๊ฒ


Label์ ์ฐํด๋ฆญํ์ฌ ๋๋๊ทธํด์ imageView์ ๋ง์ถ๊ณ
Aspect Ratio๋ฅผ ์ค์ ํด์ฃผ๋ฉด
๋ฐ๋๋ imageView์ ํฌ๊ธฐ๋งํผ ๊ฐ์ ๋น์จ๋ก Label๋ก ๋ฐ๋๋ ๋์ ํ ์คํธ๊ฐ ์์ฑ๋๋ค.

ํ๊ธธ๋ Label ๋ ๋๊ฐ์ด ์ค์ ํด์ค๋ค๋ฉด,
์๋ฎฌ๋ ์ดํฐ์ ํด์๋์ ๋ฐ๋ผ image, Label ๋ชจ๋ ํฌ๊ธฐ๊ฐ ๋ฐ๋๊ฒ ๋๋ค.
ํ๊ธธ๋ Label ๊ณผ
๋ฐ์ 5์ค์ ํ ์คํธ๋ฅผ ์ด Label๋ ๋๊ฐ๊ฒ ์ค์ ํด์ค๋ค.
Label ์ฐ์ธก ๋ฉ๋ด์ค, Text์์ ์ค๋ฐ๊ฟ์ control + ์ํฐ

Lines๋ 5์ค์ด๋ฏ๋ก 5
Autoshrink ์ค์
ํด์๋๋ง๋ค ํฌ๊ธฐ๊ฐ ๋ณํด์ผ ํ๋ฏ๋ก -> ์ข์ฐ๋ฅผ ๋บ ์ํ ์ ๋ ฌ๋ง ์ค์ ํํ, Horizontally container ์ ๋ ฌ ์ฌ์ฉ
ํ ์คํธ ํฌ๊ธฐ๊ฐ ๋ค ์๋ณด์ผ๊ฒฝ์ฐ์ cmd + = ๋ก ํ์ํ ํฌ๊ธฐ๋ก ์ค์
Label ์ฐํด๋ฆญ -> ImageView -> Aspect ratio๋ก ๋น์จ ๊ฐ๊ฒ ๋ณํํ๋๋ก !


'๐ iOS > UIKit' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[iOS]AutoLayout : pop up _ animation (0) | 2023.04.02 |
---|---|
[iOS] AutoLayout : Graph _ Animated (0) | 2023.03.31 |
[iOS] AutoLayout : StackView ํ์ฉ (0) | 2023.03.30 |
[iOS] reloadData ๊ฐ์ ๋ฐ ์ฐธ๊ณ ์ฌํญ (0) | 2023.03.25 |
[iOS] ํญ๋ฐ - UITabBarController (0) | 2023.03.25 |