๋ช ๋
๋์ ํ ์ฃผ์ 2๋ฒ ์ ๋ ํ๋ ์ง์ธ๋ค๊ณผ์ ํ๊ณ ๋ชจ์์ด ๋๋ฌ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฒ์ ์ด์ง์ ํ๋ฉด์ ๊ธฐ๋ก์ ์ค์์ฑ์ ๋๊ผ์ด์. ๊ธฐ๋ก์ด ์์ผ๋ฉด ๊ทธ์ ์๊ฐ ์์์ ์ค์ณ ์ง๋๊ฐ๋ฒ๋ฆฌ๋๋ผ๊ตฌ์. ์ ๊ฐ ๊ณผ๊ฑฐ์ ๋ฌด์์ ํ๋์ง ์ผ๋ง๋ ์ฑ์ฅํ๋์ง ์๊ณ ์๋ฆด๋ ค๋ฉด ๊ธฐ๋ก์ ํด์ผ ๊ฒ ๊ตฌ๋ ์ถ๋๋ผ๊ตฌ์. ํ์ฌ์์ ๋งค์ฃผ ํ๊ณ ๋ชจ์์ ์งํํ๋ ๋ ์ด์์ ํ๊ณ ๋ชจ์ ๊ฐ์
์ ๊ทธ๋ง ๋๊ณ ์ค์ค๋ก ํฌ์คํ
ํ๋ฉฐ ๋๋์๋ณด๊ธฐ๋ก ํ์ต๋๋ค! (์ง๊ธ ์ด ์์ ์๋ ๋ค๋ฅธ ๋ชจ์ ํ๋๋ฅผ ์ถ์ฒ ๋ฐ์๋๋ฐ ํ ๊น ๋ง๊น ์ ๋ง ๊ณ ๋ฏผ์ด์
๋๋นใ
ใ
๋ค๋ฅธ ๋ถ์ผ ์ฌ๋๋ค ๋ง๋ ์ ์๋๊ฒ ํ์น ์์์..) ์๊ฐ๋ณด๋ค TMI๋ผ ์๋ฌด๋ ์ ์ฝ์์ผ๋ฉด ์ข๊ฒ ์ง๋ง ๊ทธ๋๋ ๋๊ตฐ๊ฐ๊ฐ ์ฝ๊ณ ํผ๋๋ฐฑ ํด์ค๋ค๋ฉด ํ๋ณตํ ๊ฒ ๊ฐ์.. ์ฐ์ ์ ์ด๋ด
๋๋น .. ๐ฎ Q1 (1 ~ 3์) ํ๋ก์ ํธ์ ์ฐ์ ์๋
22๋
6..
๋ค๋น๊ฒ์ด์
์ ๋ค๋ฅธ ์คํฌ๋ฆฐ๊ณผ ๋ทฐ ์ฌ์ด๋ฅผ ์ด๋ํ๊ณ ํ์ํ ์ ์๊ฒ ํด์ค UINavigationController์ ๋ง์ฐฌ๊ฐ์ง๋ก navigationStack์ ๊ด๋ฆฌํ๋ฉฐ NavigationBar ๋ฅผ ์ ๊ณตํ์ฌ ํ๋ฉด๊ฐ ์ด๋์ ์ง์ NavigationView๋ iOS ๊ธฐ์ค 13.0 ~ 17.0 ์ฌ์ฉ๊ฐ๋ฅํ๋ฉฐ deprecated ์์ ์ด๊ธฐ ๋๋ฌธ์ iOS 16.0 ๋ถํฐ ์ง์ํ๋ ํ๋ก์ ํธ๋ผ๋ฉด NavigationStack์ ์ฌ์ฉ NavigationLink NavigationStack, NavigationSplitView ๋ฟ๋ง ์๋๋ผ NavigationView์์๋ ์ฌ์ฉ ๊ฐ๋ฅ struct NavigationLink where Label : View, Destination : View label์ ํ์ฌ ํ๋ฉด์ ๋ณด์ด๋ ๋ทฐ๋ก์ Navi..
Background Problems ๊ธฐ์กด ํ๋ก์ ํธ๋ NavigationView๋ NavigationStack์ด ์๋ค. ํ๋ฉด ์ด๋์ ํ๊ณ ์ ํ ๋๋ ์ด๋ ํ View๋ฅผ ZStack์ ์ฌ์ฉํด์ ๊ธฐ์กด ๋ทฐ ์์ ๋ฎ์ด ์์ฐ๋ ๋ฐฉ์์ ์ฌ์ฉํ๊ณ ์๋ค. ์ฌ๊ธฐ์ navigation push ์ ๋๋ฉ์ด์
ํจ๊ณผ๋ฅผ ์ฃผ๊ธฐ ์ํด ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก ๋ฐ๊ณ ๋ค์ด์ค๋ ๋ฏํ ์ ๋๋ฉ์ด์
์ด ๋ค์ด๊ฐ ์๋ค. ๋ฉ์ธ์๋ ํญ๋ทฐ๊ฐ ์กด์ฌํ๊ณ ๊ฐ ํญ์๋ rootView๋ผ๊ณ ํ ์ ์๋ View๊ฐ ์กด์ฌํ๋ค. rootView์์ ์์ธ๋ก ์ด๋ํ๋ฉด ์ด ์์ธ ํ๋ฉด์ ํญ๋ฐ๋ฅผ ๊ฐ๋ฆฌ๋ฉด์ ํ๋ฉด ์ ์ฒด๋ฅผ ์ฐจ์งํด์ผ ํ๋ค. ํญ๋ทฐ๊ฐ ๋ณด์ด์ง ์์์ผ ํ๋ฏ๋ก window์์ UITabBar์ ์ฐพ๊ณ window ์ ์ฒด offset์ ์กฐ์ ํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๊ณ ์์๋๋ฐ ํญ๋ทฐ๋ฅผ ๊ฐ๋ฆฌ๊ณ ๋ณด์ด๊ฒ ..
๋์ผํ UI ๊ตฌ์ฑ์ ๊ฐ์ง์ง๋ง ๊ฐ๋ก๋ชจ๋์์ ์ธ๋ก๋ชจ๋๋ก ๋ณ๊ฒฝ๋ ๋ ํ๋ฉด์ ๋์ด๊ฐ ๋ฌ๋ผ์ง๊ฒ ๋ฉ๋๋ค. ํน์ UI์์๋ ํ๋ฉด์ด ๊นจ์ง ์ ์์ด์ ์ด์ ๋์ํด์ผ ํด์. ViewBuilder๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ ํ๋ฉด์์ ๋์ ๊ฐ๋ฅํ View๋ฅผ ์์ฑํ ์ ์์ต๋๋ค! ํน์ ViewBuilder๊ฐ ๋ฌด์์ธ์ง ์ ๋ชจ๋ฅด๊ฒ ๋ค๋ฉด ์๋ ํฌ์คํ
์ ์ฐธ๊ณ ํ์ธ์! [SwiftUI] ViewBuilder ์์๋ณด๊ธฐ Definition @resultBuilder struct ViewBuilder ํด๋ก์ ์์ ๋ทฐ๋ฅผ ๊ตฌ์ฑํ๋ ์ฌ์ฉ์ ์ง์ ํ๋ผ๋ฏธํฐ ์์ฑ func contextMenu( @ViewBuilder menuItems: () -> MenuItems ) -> some View ํด๋ก์ ํ๋ผ๋ฏธํฐ๋ฅผ ํตํด child view๋ฅผ ์์ฑํ๊ณ ์ framios.tis..
Definition @resultBuilder struct ViewBuilder ํด๋ก์ ์์ ๋ทฐ๋ฅผ ๊ตฌ์ฑํ๋ ์ฌ์ฉ์ ์ง์ ํ๋ผ๋ฏธํฐ ์์ฑ func contextMenu( @ViewBuilder menuItems: () -> MenuItems ) -> some View ํด๋ก์ ํ๋ผ๋ฏธํฐ๋ฅผ ํตํด child view๋ฅผ ์์ฑํ๊ณ ์ ํ ๋ ViewBuilder๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ์์ ๊ฐ์ด ํ๋ผ๋ฏธํฐ๋ก ViewBuilder๋ฅผ ์ฌ์ฉํด ํด๋ก์ ๋ก child view๋ฅผ ํฌํจํ๋ ๋ทฐ๋ฅผ ์์ฑํ ์ ์๋ค. myView.contextMenu { Text("Cut") Text("Copy") Text("Paste") if isSymbol { Text("Jump to Definition") } } contextMenu์ menuItems ํด..
ํฐํธ๋ ํ๋ฆฌํ
๋ค๋ ์ฌ์ฉํจ (์ฌ์ดํธ๋งํฌ) Pretendard Pretendard ํ๋ฆฌํ
๋ค๋ Pretendard ํ๋ฆฌํ
๋ค๋ ๊ธ๊ผด ๋ค์ด๋ก๋ ์ผ๋ณธ์ด ๋ฒ์ ๋ค์ด๋ก๋ GitHub์์ ๋ณด๊ธฐ system-ui๋ฅผ ๋์ฒดํ๋ ๊ธ๊ผด Apple์ system-ui๊ฐ ์ต์ํ ๋๋ก์๋ San Francisco์ Apple SD ์ฐ๋๊ณ ๋ Neo๊ฐ ์๋ cactus.tistory.com ๊ธ๊ผด ๋ค์ด๋ก๋๋ฅผ ๋๋ฌ์ ๋งฅ์ ์ ์ฅ ํผ๊ทธ๋ง์์ ์ฌ์ฉํ๊ธฐ ์ํด ๊ฐ ํญ๋ชฉ์ ๋๋ธ ํด๋ฆญํด์ ์ค์น Figma ํ
์คํธ๋ฅผ ์ถ๊ฐํ ํ ํฐํธ, ํฐํธ์ ๊ตต๊ธฐ, ์๊ฐ, ํ๊ฐ์ ์ง์ ๊ทธ ํ Text ์์ ์ ๋ค๊ฐ ์์ด์ฝ ํด๋ฆญ ํ
์คํธ ์คํ์ผ ๋ฉ๋ด๊ฐ ๋์ค๋ฉด + ๋ฒํผ์ ๋๋ฌ ์๋ก์ด ํ
์คํธ ์คํ์ผ์ ๋ฑ๋ก ์๋ก์ด ํ
์คํธ ์คํ์ผ์ ์ด๋ฆ์ ์ง์ ํ ๋ค create style์ ๋๋ฌ ์ ์ฅ..
SwiftUI์์๋ UIKit์ UITextField ๋์ ์ TextField๋ผ๋ View๋ฅผ ์ฌ์ฉํฉ๋๋ค. TextField๋ฅผ ์ฌ์ฉํ๋ค ๋ณด๋ฉด ๊ธฐ์กด์ UITextFieldDelegate์ ๊ธฐ๋ฅ์ด ํ์ํ ๋๊ฐ (์์ง๊น์ง๋) ๋ง์ต๋๋ค. SwiftUI์์ UITextField๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ UIViewRepresentable๋ฅผ ์ ์ํ ์ ์์ด์. UIViewRepresentable์ ๋ํ ์์ธํ ์ค๋ช
์ ์๋ ํฌ์คํ
์ฐธ์กฐ 2023.08.20 - [SwiftUI] - [SwiftUI] UIKit ์ฌ์ฉ์ ์ํ UIViewRepresentable ์ดํดํ๊ธฐ [SwiftUI] UIKit ์ฌ์ฉ์ ์ํ UIViewRepresentable ์ดํดํ๊ธฐ protocol UIViewRepresentable : View where S..
๊ฐ๋ฐ ๋ธ๋ก๊ทธ๋ฅผ ์์ฑํ๋ค๋ณด๋ ํฌ์คํ
์ ์ฝ๋ ๋ฐ์ค๊ฐ ํฌํจ๋ ๋๊ฐ ๋ง์ต๋๋ค. ํฐ์คํ ๋ฆฌ ๋ธ๋ก๊ทธ๋ html๊ณผ css๋ฅผ ํธ์งํ ์ ์์ด ์ํ๋ ํฐํธ๋ฅผ ์ ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ๋ง์ ์ฝ๋ ๋ฐ์ค์ ๊ธ๊ผด์ ์ ์ฉ์ด ์๋ ๋๊ฐ ์๊ณ , ์ํ๋ ํ๊ธ ํฐํธ๋ฅผ ์ค์ ํ๋ฉด ์์ด์ l, i, L, I ์ ๊ตฌ๋ถ์ด ์ด๋ ค์ ์ฝ๋ฉ ๊ธ๊ผด๋ก ์ ์ ํ์ง ์์ ์ ์์ต๋๋ค. ๊ทธ๋์ ์ฝ๋ ๋ฐ์ค์๋ง ๋ค๋ฅธ ํฐํธ๋ฅผ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ํฌ์คํ
ํด๋ด
๋๋น ์ฐ์ ์ ๋ธ๋ก๊ทธ ์ ์ฒด ํฐํธ ๋ณ๊ฒฝ๋ฐฉ๋ฒ์
๋๋น https://noonnu.cc/font_page/92 ๋๋ D2Coding - ๋ค์ด๋ฒ noonnu.cc ์ ๋ ๋๋๋ผ๋ ์ฌ์ดํธ๋ฅผ ์ฃผ๋ก ์ด์ฉํฉ๋๋ค! ๊ณต์์ ์ผ๋ก ์ฌ์ฉ๊ฐ๋ฅํ ์์ ํฐํธ๊ฐ ๋ง์ด ์์ด์! ๊ทธ๋๋ ์ฌ์ฉํ๊ธฐ ์ ์ ๊ผญ ๋ผ์ด์ผ์ค ํ์ธํ๊ธฐ!! ์ํ๋ ํฐํธ๋ฅผ ์ ํํ๋ฉด ์ค๋ฅธ์ชฝ ์๋จ..