Deep_Lee
article thumbnail

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๋กœ ๋น„์œจ ๊ฐ™๊ฒŒ ๋ณ€ํ™”ํ•˜๋„๋ก !

 

 

์•„์ดํฐ14 Pro Max
์•„์ดํฐ SE ( 3rd )

 

 

 

 

 

 

 

 

'๐ŸŽ 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