IOS

ยท๐ŸŒฑ SeSAC
๐Ÿชด Summary ๋ทฐ์˜ ์ผ๋ฐ˜์ ์ธ ์†์„ฑ ๊ฐ’๋“ค(Alpha, Opacity, Rendering Mode, Corner Radius, Cilps to bounds, Shadow) ์˜คํ† ๋ ˆ์ด์•„์›ƒ (๋ ˆ์ด์•„์›ƒ ์žก๋Š” ์—ฐ์Šต ์ง„ํ–‰ ์ค‘) ๋„ค๋น„๊ฒŒ์ด์…˜ ์ปจํŠธ๋กค๋Ÿฌ ํƒญ๋ฐ” ์ปจํŠธ๋กค๋Ÿฌ ๐Ÿ—‚ Memo TIL์— ๋„ˆ๋ฌด ๋งŽ์€ ๋ฆฌ์†Œ์Šค๋ฅผ ๋“ค์ด์ง€ ๋ง™์‹œ๋‹ค. 1. ํฐํŠธ ํฌ๊ธฐ ํฐํŠธ ํฌ๊ธฐ๋Š” ๋ณดํ†ต ๋ฐ”๊พธ์ง€ ์•Š๋Š” ํŽธ SE์™€ ๊ฐ™์ด ํ™”๋ฉด์ด ์ž‘์€ ๋””๋ฐ”์ด์Šค์—์„œ๋Š” ์ปจํ…์ธ ๊ฐ€ ๋œ ๋ณด์ด๋„๋ก ๋†”๋‘๋Š” ํŽธ 2. Swift Convention ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ์ž…์žฅ์—์„œ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋„ˆ๋ฌด ์‹ ๊ฒฝ์„ ์“ฐ๋Š” ๊ฒƒ์€ ์˜คํžˆ๋ ค ์ฃผ๊ฐ์ „๋„๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค. ์ฐจ๊ทผ์ฐจ๊ทผ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๊ฐ€๋‹ค๋ณด๋ฉด ์ ์ฐจ ์ต์ˆ™ํ•ด์งˆ ๊ฒƒ์ด๋‹ค. 3. Build Phases Compile Sources (์†Œ์Šค ์ฝ”๋“œ) Copy Bundle Resour..
ยท๐ŸŽ iOS & Swift
Alpha UIView์˜ ์ธ์Šคํ„ด์Šค ์†์„ฑ var alpha: CGFloat { get set } ์ด ์†์„ฑ์˜ ๊ฐ’์€ 0.0 ~ 1.0๊นŒ์ง€์˜ ๋ถ€๋™ ์†Œ์ˆ˜์  ์ˆซ์ž๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค. 0.0์œผ๋กœ ๊ฐ€๊นŒ์›Œ์งˆ์ˆ˜๋ก ํˆฌ๋ช…ํ•ด์ง€๊ณ , 1.0์œผ๋กœ ๊ฐ€๊นŒ์›Œ์งˆ์ˆ˜๋ก ๋ถˆํˆฌ๋ช…ํ•ด์ง„๋‹ค. ์ด ์†์„ฑ์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋ฉด ํ˜„์žฌ ๋ทฐ์˜ ์•ŒํŒŒ ๊ฐ’๋งŒ ์—…๋ฐ์ดํŠธ ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ•ด๋‹น ์•ŒํŒŒ ๊ฐ’์— ๋ถ€์—ฌ๋œ ํˆฌ๋ช…๋„๋Š” ํ•˜์œ„ ๋ทฐ๋ฅผ ํฌํ•จํ•˜์—ฌ ๋ทฐ์˜ ๋ชจ๋“  ์ปจํ…์ธ ์— ์˜ํ–ฅ์„ ์ค€๋‹ค. ์•ŒํŒŒ๊ฐ’์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์• ๋‹ˆ๋ฉ”์ด์…˜ ํ•  ์ˆ˜ ์žˆ๋‹ค. Opacity CALayer์˜ ์ธ์Šคํ„ด์Šค ์†์„ฑ var opacity: Float { get set } ์ด ์†์„ฑ์˜ ๊ฐ’์€ 0.0(ํˆฌ๋ช…)์—์„œ 1.0(๋ถˆํˆฌ๋ช…) ์‚ฌ์ด์—ฌ์•ผ ํ•œ๋‹ค. ํ•ด๋‹น ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚œ ๊ฐ’์€ ์ตœ์†Œ๊ฐ’, ์ตœ๋Œ€๊ฐ’์œผ๋กœ ๊ณ ์ •๋œ๋‹ค. ๊ธฐ๋ณธ ๊ฐ’์€ 1.0์ด๋‹ค. Alpha ์†์„ฑ๊ณผ๋Š”..
ยท๐ŸŽ iOS & Swift
Bundle Identifier ๋ฒˆ๋“ค ์•„์ด๋””(Bundle Identifier)๋Š” ์•ฑ์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ณ ์œ ํ•œ ์‹๋ณ„์ž๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ์™€ ๊ฐ™์€ ์„ฑ๊ฒฉ์„ ๋ค๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๊ณ ์œ ํ•ด์•ผํ•˜๋‹ˆ๊นŒ ์ค‘๋ณต๋˜์–ด์„œ๋Š” ์•ˆ ๋˜๊ณ  ์‹ค์ œ๋กœ ์ถœ์‹œ ์ „์— ์ค‘๋ณต ์—ฌ๋ถ€๋ฅผ ๊ฒ€์‚ฌํ•˜๊ฒŒ ๋œ๋‹ค. โœ… ์ค‘๋ณต๋œ Bundle Identifier๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์—๋Ÿฌ๊ฐ€ ๋œจ๊ณ  ๋นŒ๋“œ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์ถœ์‹œ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ฐ€๋” ๊ฐœ๋ฐœ์„ ํ•˜๋‹ค ๋ณด๋ฉด ์ค‘๋ณต๋œ Bundle Identifier๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค๊ฐ€ ๋นŒ๋“œ๊ฐ€ ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ๋ฅผ ๋งŒ๋‚˜๊ณ ๋Š” ํ•œ๋‹ค. ํ”์น˜๋Š” ์•Š์€ ์ผ์ด์ง€๋งŒ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค๋ฉด ์ ์ ˆํ•˜๊ฒŒ Id๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค. (์‹ค์ œ๋กœ SOPT ํ™œ๋™ ์‹œ ์„ธ๋ฏธ๋‚˜๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ Bundle Identifier๋ฅผ com.sopt.Project์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•œ ์ ์ด ์žˆ๋Š”๋ฐ, ์ด..
ยท๐ŸŽ iOS & Swift
What's new in SF Symbols 4 Explore the latest updates to SF Symbols, Apple's extensive library of iconography designed to integrate seamlessly with San Francisco, the system font for all Apple platforms. Discover the latest additions to the SF Symbols library and new categories in the app. Learn about the new Automatic behavior, which chooses the rendering mode that best highlights what's unique..
ยท๐ŸŽ iOS & Swift
๋“ค์–ด๊ฐ€๋ฉฐ โ˜€๏ธ ๊ธฐ์ดˆ ๋ฌธ๋ฒ• ๊ณต๋ถ€์˜ ํ•„์š”์„ฑ์„ ๋Š๊ปด์„œ ์ดˆ์‹ฌ์œผ๋กœ ๋Œ์•„๊ฐ€ ์กฐ๊ธˆ์”ฉ ๊ณต๋ถ€ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์ง€๊ธˆ ๊ณต๋ถ€ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ๋“ค์ด ๋‹จ์ˆœ ์ •๋ฆฌ๊ฐ€ ๋˜์ง€ ์•Š๋„๋ก ๊ณ„์† ๊ณ ๋ฏผํ•˜๊ณ  ์—ฐ๊ตฌํ•˜๋Š” ์ž์„ธ๋ฅผ ๊ฐ€์ง€๋„๋ก ํ•˜์ž. ๊ธฐ์ดˆ๋Š” ๊ฐ€์žฅ ์‰ฌ์›Œ์„œ๊ฐ€ ์•„๋‹ˆ๋ผ ๊ฐ€์žฅ ์ค‘์š”ํ•ด์„œ ๊ทธ ์˜๋ฏธ๊ฐ€ ์žˆ์Œ์„ ๊นจ๋‹ซ์ž. if๋ฌธ ๐Ÿ™‹๐Ÿป‍โ™‚๏ธ ํŠน์ • ์กฐ๊ฑด์—์„œ๋งŒ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•˜๊ฑฐ๋‚˜ ๋˜๋Š” ์‹คํ–‰ํ•˜์ง€ ๋ง์•„์•ผ ํ•˜๊ฑฐ๋‚˜ ํ•˜๋Š” ์ƒํ™ฉ์—์„œ ์“ฐ์ธ๋‹ค. ๋ง ๊ทธ๋Œ€๋กœ ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๋‹ค ๋ณด๋ฉด ์ •๋ง ํ•„์ˆ˜์ ์œผ๋กœ ์กฐ๊ฑด๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ์กฐ๊ฑด์— ๋”ฐ๋ฅธ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•„์ˆ˜์ ์œผ๋กœ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•˜๋Š” ๋‚ด์šฉ์ด๋‹ค. ์ค‘์š”ํ•œ ๊ฑด if๋ฌธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ์—์„œ switch-case๋ฌธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ธ๋ฐ ์–ด๋–ป๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ• ์ง€๋Š” ์ ..
ยท๐ŸŽ iOS & Swift
๐Ÿ’ฅ ์ธ์‚ฌ๋ง ์•ˆ๋…•ํ•˜์„ธ์š”, ํƒœ๋ผ์ž…๋‹ˆ๋‹ค ใ€ฐ ๐Ÿ‘‹ ๋‹ค์Œ ์นดํ…Œ๊ณ ๋ฆฌ์—์„œ๋Š” ๋ชจ๋ฅด๋Š” ๊ฐœ๋…์ด๋‚˜ ํ‚ค์›Œ๋“œ, ๋ฌธ๋ฒ• ๋“ฑ ๋‹ค์–‘ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๋‚ด์šฉ์€ ์ €์˜ ์ธ์Šคํƒ€ ๊ฐœ๋ฐœ ๋กœ๊ทธ ๊ณ„์ •(@taekki.dev)์—๋„ ์˜ฌ๋ผ๊ฐ€๋‹ˆ ๋งŽ์€ ๊ด€์‹ฌ ๋ถ€ํƒ๋“œ๋ ค์š” :) ๊ฐœ๋…์˜ ๋นˆ๊ณต๊ฐ„์„ ๋ฉ”๊ฟ€ ์ˆ˜ ์žˆ๋Š” ๊ทธ๋‚ ๊นŒ์ง€ ํ™”์ดํŒ…ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์˜ค๋Š˜ ํฌ์ŠคํŒ… ์‹œ์ž‘ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿ™Œ ๐Ÿ’ฌ ๋“ค์–ด๊ฐ€๋ฉฐ UIWindow๋ฅผ ์ฒ˜์Œ ๋งˆ์ฃผํ•˜๊ฑฐ๋‚˜, ๊ฐ€์žฅ ๋งŽ์ด ๋ณด๋Š” ๊ณณ์ด ์–ด์ฉŒ๋ฉด SceneDelegate.swift ๋‚˜ AppDelegate.swift ์ผ์ง€๋„ ๋ชจ๋ฆ…๋‹ˆ๋‹ค. ํ•ญ์ƒ ๊ฐ€๋ณ๊ฒŒ ์ง€๋‚˜์น˜๊ธฐ๋งŒ ํ–ˆ๋˜ UIWindow๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์ด๋ฒˆ์— ์•Œ์•„๋ณด๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์€ Apple ๊ณต์‹๋ฌธ์„œ์˜ ๊ตฌ์กฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ๐ŸŒฑ UIWindow์˜ ํƒ€์ž… ๐Ÿ“Œ ํƒ€์ž…(Type) - ํด๋ž˜์Šค ํƒ€์ž…์€ ํด๋ž˜์Šค(Cl..
ยท๐ŸŽ Tip
์ด๋ณด๋‹ค ์ž์„ธํ•  ์ˆ˜ ์—†๋‹ค.. ํ™”๋ฉด ์† ๋นจ๊ฐ„ ์‚ฌ๊ฐํ˜•์„ ๋”ฐ๋ผ์˜ค๋‹ค๋ณด๋ฉด ์–ด๋Š์ƒˆ ๊นƒํ—ˆ๋ธŒ์™€ ์Šฌ๋ž™ ์—ฐ๋™์ด ๋๋‚˜์žˆ๋Š”.. 0. ๋“ค์–ด๊ฐ€๋ฉฐ ํ˜‘์—…์„ ํ•˜๋‹ค๋ณด๋ฉด ํ˜‘์—… ํˆด๋กœ์จ Slack๊ณผ Notion์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ทธ ์ค‘์—์„œ ์†Œํ†ต ์ˆ˜๋‹จ์œผ๋กœ์จ Slack์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋Š”๋ฐ์š”. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Github์˜ ํ˜‘์—… Project์— Pull Request, Issue, Commit ๋“ฑ์„ ์ˆ˜ํ–‰ํ–ˆ์„ ๋•Œ ํŒ€์›๋“ค์—๊ฒŒ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์‰ฝ๊ฒŒ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊นƒํ—ˆ๋ธŒ ๋ด‡์„ ์Šฌ๋ž™์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ „์ฒด ํ™”๋ฉด์„ ์บก์ฒ˜ํ•œ ๊ฒƒ์ด๋ฏ€๋กœ ์ž˜ ์•ˆ ๋ณด์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ™”๋ฉด์„ ํ™•๋Œ€ํ•ด์„œ ๋ด์ฃผ์„ธ์š” :) 1. ๊นƒํ—™ ์•ฑ ์ถ”๊ฐ€ํ•˜๋Š” ๋‹จ๊ณ„ 2. ๋‚ด๊ฐ€ ์†Œ์‹์„ ๋ฐ›๊ณ  ์‹ถ์€ ์ฑ„๋„์— ๊นƒํ—ˆ๋ธŒ ๋ด‡์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋‹จ๊ณ„ ์›ํ•˜๋Š” ์ฑ„๋„์„ ์ž˜ ์„ ํƒํ•ด์ฃผ์„ธ์š”. ์Šฌ๋ž™ ์›Œํฌ์ŠคํŽ˜์ด์Šค ์•ˆ์— ์—ฌ..
ยท๐ŸŽ iOS & Swift
๐Ÿ˜€์˜ค๋Š˜์€ ๊ฐ„๋‹จํ•˜๊ฒŒ Delegate Pattern์„ ์ ์šฉํ•ด๋ณด๋Š” ์˜ˆ์‹œ ์ค‘์—์„œ ํ™”๋ฉด ์ „ํ™˜ ์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์•„๋ณด๋‚ด๋Š” ์ž‘์—…์„ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿง‘๐Ÿป‍๐Ÿ’ป ๋“ค์–ด๊ฐ€๋ฉฐ Delegate Pattern(๐Ÿ˜‡? ๐Ÿ˜ˆ??), ํ•ญ์ƒ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๊ทธ ์ˆœ๊ฐ„์—๋Š” ์ดํ•ดํ–ˆ๊ณ  ๋ถ„๋ช… ์•Œ๊ฒ ๋Š”๋ฐ ๋„๋Œ€์ฒด ์–ด๋Š ๋ถ€๋ถ„์— · ๋˜ ์–ธ์ œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€ ๊ฐ์ด ์•ˆ ์žกํž™๋‹ˆ๋‹ค... ์ € ์—ญ์‹œ๋„ ๊ทธ๋Ÿฐ๋ฐ์š”... ์–ด์ฉ” ์ˆ˜ ์—†์–ด์š”... ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์— ์จ๋ณด๋ ค๊ณ  ๋…ธ๋ ฅํ•ด๋ณด๋Š” ์ˆ˜ ๋ฐ–์— ์ด๋ฒˆ์— ์ตœ๋Œ€ํ•œ ์—ฌ๋Ÿฌ ์ƒํ™ฉ์— ์‚ฌ์šฉํ•ด๋ณด๋ฉด์„œ ์–ด๋–ค ์žฅ๋‹จ์ ์ด ์žˆ๋Š”์ง€๋„ ์•Œ์•„๋ณด๊ณ  ์‚ฌ์šฉ๋ฒ•์— ์ต์ˆ™ํ•ด์ง€๋ ค๊ณ  ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ™์ด ๋…ธ๋ ฅํ•ด๋ณด์•„์š”. ๐Ÿ“บ ์‹คํ–‰ ํ™”๋ฉด ์˜ค๋Š˜ ๊ตฌํ˜„ํ•ด ๋ณผ ํ™”๋ฉด์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํฌ๊ฒŒ ์ƒํ’ˆ ํ™”๋ฉด๊ณผ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋‹ด๊ธฐ ํ™”๋ฉด 2๊ฐ€์ง€๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ๊ตฌ์š”. ์šฐ์„  ํ๋ฆ„์„ ์„ค๋ช…ํ•ด๋“œ๋ฆด๊ฒŒ์š”. ์ƒํ’ˆ ํ™”๋ฉด์—์„œ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋ฒ„ํŠผ์„ ํด..
taeeekki
'IOS' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก (10 Page)