iOS) Dynamic Type

Dynamic Type ์ด๋ž€! ์‰ฝ๊ฒŒ ๋งํ•ด์„œ ์šฐ๋ฆฌ๊ฐ€ ๊ธฐ๊ธฐ์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ํ…์ŠคํŠธ ํฌ๊ธฐ ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ์š”. ์ด ๋•Œ ์‚ฌ์šฉ์ž๊ฐ€ ์ง€์ •ํ•œ ํ…์ŠคํŠธ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋™์ ์œผ๋กœ ํฌ๊ธฐ๊ฐ€ ๋ณ€ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ด์š”! ์„ค์ • > ๋””์Šคํ”Œ๋ ˆ์ด ๋ฐ ๋ฐ๊ธฐ > ํ…์ŠคํŠธ ํฌ๊ธฐ Dynamic Type ์„ ์ ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ๊ธฐ๊ธฐ์—์„œ ํ…์ŠคํŠธ ํฌ๊ธฐ๋ฅผ ๋ณ€๊ฒฝํ–ˆ๋Š”๋ฐ ์ ์šฉ์ด ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์ด์ง€์š”! ๋˜ํ•œ, ๋” ํฐ ์‚ฌ์ด์ฆˆ๋„ ์„ค์ •์ด ๊ฐ€๋Šฅํ•œ๋ฐ์š” ์„ค์ • > ์†์‰ฌ์šด ์‚ฌ์šฉ > ๋””์Šคํ”Œ๋ ˆ์ด ๋ฐ ํ…์ŠคํŠธ ํฌ๊ธฐ > ๋” ํฐ ํ…์ŠคํŠธ ์ถ”๊ฐ€๋กœ 5๊ฐœ์˜ ๋” ํฐ ์‚ฌ์ด์ฆˆ๋„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”! ๐Ÿ” HIG ์‚ดํŽด๋ณด๊ธฐ HIG ๋ฌธ์„œ์—์„œ ๋งํ•˜๋Š” Dynamic Type ์€ ์ด๋Ÿฌํ•ฉ๋‹ˆ๋‹ค. Dynamic Type ์€ ๊ธ€์ž๋ฅผ ์ฝ๋Š”์ด๊ฐ€ ์„ ํ˜ธํ•˜๋Š” ํ…์ŠคํŠธ ์‚ฌ์ด์ฆˆ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก ์ถ”๊ฐ€์ ์ธ flexibili..

iOS 2021. 11. 5. 17:31
iOS) ์ปค์Šคํ…€ ๋ทฐ Xib ์—ฐ๊ฒฐํ•˜๊ธฐ

๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด์„œ ์ปค์Šคํ…€ ๋ทฐ ํด๋ž˜์Šค๋ฅผ Xib ์™€ ์—ฐ๊ฒฐํ•ด์„œ ๋งŒ๋“ค์–ด๋ณด์ž! ๊ทธ๋ฆฌ๊ณ  ์ข€ ๋” ๊ณ ๋ฏผํ•ด๋ณผ ์ ๊นŒ์ง€ ๊ฐ™์ด ์•Œ์•„๋ด์š”! ๐Ÿง™‍โ™€๏ธ ๋ฐฉ๋ฒ•1 : File's Owner ์—์„œ Custom Class ์„ค์ • File's Owner : File's Owner ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•ด์„œ nib ํŒŒ์ผ์˜ top-level ๊ฐ์ฒด๋“ค์„ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ IBAction, IBOutlet ์— ํ•ด๋‹นํ•˜๋Š” ๊ฒƒ์„ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฒƒ์€ ์ด ์ฐธ์กฐ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ•ด๋‹น ๋ทฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด์„œ UIView ํด๋ž˜์Šค์—์„œ nib ํ˜•ํƒœ๋กœ ๊ฐ€์ ธ์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ! ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์–ด์š”! // CustomNavigationBar.siwft // ์—ญํ•  : ์ปค์Šคํ…€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ” class CustomNavig..

iOS 2021. 11. 2. 02:58
iOS) UICollectionViewCell ๋‚ด์šฉ์— ๋Œ€ํ•ด ๋™์ ์ธ ์‚ฌ์ด์ฆˆ ์ ์šฉ์‹œํ‚ค๊ธฐ

๋™์ ์œผ๋กœ ์…€์˜ ๋„ˆ๋น„์™€ ๋†’์ด๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž๊ตฌ์š”! ์…€์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ˆ collectionView(_:layout:sizeForItemAt:) ๋ฉ”์„œ๋“œ ์•ˆ์—์„œ ์ด๋ฃจ์–ด์ง€๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์„๊ฑฐ์—์š”! ์ž ๊ทธ๋Ÿผ ์–ด๋–ป๊ฒŒ ์ฝ”๋“œ๋ฅผ ์งœ์•ผํ•˜๋ƒ..! ์ด์ œ๋ถ€ํ„ฐ ์†Œ๊ฐœํ•˜๋Š” ๋‚ด์šฉ์— ์ •๋‹ต์€ ์—†์–ด์š”! ์ƒํ™ฉ๊ณผ ์—ฌ๊ฑด์— ๋”ฐ๋ผ์„œ ์‚ฌ์šฉํ•˜์‹œ๋ฉด๋˜๊ณ  ๋” ์ข‹์€ ์ฝ”๋“œ๊ฐ€ ์žˆ๋‹ค๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”! ๋ฐฉ๋ฒ•1 : collection view cell ๊ฐ์ฒด ์ƒ์„ฑํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๊ณ  frame ์˜ size ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ. ๋ฐฉ๋ฒ•2 : UILabel ์‚ฌ์šฉํ•˜๊ธฐ ๋ฐฉ๋ฒ•3 : NSString ์‚ฌ์šฉํ•˜๊ธฐ ๋ฐฉ๋ฒ•4 : systemLayoutSizeFitting ์‚ฌ์šฉํ•˜๊ธฐ ๋ฐฉ๋ฒ•5 : boundingRect(with:options:attributes:context:..

iOS 2021. 10. 28. 22:54
iOS) Type Casting(ํƒ€์ž…์บ์ŠคํŒ…)

๋‚ด์šฉ ๋‹ค์šด์บ์ŠคํŒ… ์—…์บ์ŠคํŒ… ํƒ€์ž… ์ฒดํ‚น ํƒ€์ž…์บ์ŠคํŒ…์€ instance ์˜ ์œ ํ˜•์„ ํ™•์ธํ•˜๊ฑฐ๋‚˜ ํ•ด๋‹น instance๋ฅผ ์ž์ฒด ํด๋ž˜์Šค ๊ณ„์ธต ๊ตฌ์กฐ์—์„œ ๋ถ€๋ชจ ํด๋ž˜์Šค ๋˜๋Š” ์ž์‹ ํด๋ž˜์Šค๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์—ฐ์‚ฐ์ž์—๋Š” is ์™€ as ๊ฐ€ ์žˆ๋‹ค. ๋‹ค์šด์บ์ŠคํŒ… ๋‹ค์šด์บ์ŠคํŒ…์€ ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ํƒ€์ž…์„ ์ž์‹ ํด๋ž˜์Šค์˜ ํƒ€์ž…์œผ๋กœ ๋‚ฎ์ถฐ์„œ ํ˜•๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์„ ๋‹ค์šด์บ์ŠคํŒ…์ด๋ผ๊ณ  ๋งํ•œ๋‹ค.(๋ถ€๋ชจ ํด๋ž˜์Šค ์ธ์Šคํ„ด์Šค๋ฅผ ์ž์‹ ํด๋ž˜์Šค์˜ ํƒ€์ž…์œผ๋กœ ์ฐธ์กฐํ•œ๋‹ค.) ๋‹ค์šด์บ์ŠคํŒ…์—๋Š” 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. as? : ๋ณ€ํ™˜์ด ์„ฑ๊ณต ์‹œ ์˜ต์…”๋„ ๊ฐ’์„ ๊ฐ€์ง€๋ฉฐ ์‹คํŒจ ์‹œ nil ๋ฐ˜ํ™˜ as! : ๊ฐ•์ œ ํƒ€์ž… ๋ณ€ํ™˜ ์‹œ๋„. ์„ฑ๊ณต ์‹œ ์–ธ๋ž˜ํ•‘๋œ ๊ฐ’์„ ๊ฐ€์ง€๋ฉฐ ์‹คํŒจ ์‹œ ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ ๋ฐœ์ƒ ๐ŸงŠ as? as! ์˜ˆ์‹œ๋ฅผ ์‚ดํŽด๋ด๋ณด์ž ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ™”๋ฉด ์ „ํ™˜ํ•  ๋•Œ as? ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์šฐ์„  instantiateView..

iOS 2021. 10. 13. 14:42
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
๊ธ€ ๋ณด๊ด€ํ•จ
ยซ   2024/11   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
๋งํฌ
Total
Today
Yesterday