swiftUI
-
SwiftUI - ๋ทฐ์ ๋์ด๊ฐ ์ถฉ๋ถ์น ์์๋๋ Sticky ์ ์งํ๊ธฐSwiftUI 2023. 7. 6. 15:31
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ ์ค์ ๋ก ๊ฒช์ ์ ์๋ SwiftUI์ ๊ตฌํ ๊ณผ์ ์์ ๋ฌธ์ ๋ฅผ ์์๋ณด๊ณ ๋์ฒํด๋ณด๋ ค ํฉ๋๋ค ๐๐ป Stickyํ ์คํฌ๋กค ๋ทฐ๋ ๋ค๋ค ํ๋ฒ์ฏค ๋ค์ด๋ณด์ จ์๊ฒ ๊ฐ์์! ๋ง์ฝ Stickyํ ๋ทฐ๊ฐ ์ด๋ค๊ฑด์ง ์ฒ์ ๋ค์ด๋ณด์ ๋ค๋ฉด ์๋ ํฌ์คํ ์ ๋จผ์ ๋ณด๊ณ ์ค์๋ฉด ๋ง์ ๋์์ด ๋ฉ๋๋คใ ใ https://green1229.tistory.com/302 SwiftUI - PinnedScrollableViews (a.k.a Sticky View) ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์์ PinnedScrollableViews๋ผ๋๊ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐ ์ด๊ฑธ ์์๋ณด๊ฒ ๋ ๋ฐฐ๊ฒฝ์ ํ๋ก๋ํธ์ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ค ์คํฌ๋กค๋ทฐ๋ก ๊ฐ์ธ์ง VStack์์ green1229.tistory.com ..
-
SwiftUI - Custom TabViewSwiftUI 2023. 7. 3. 15:39
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI๋ก ์ปค์คํ ํ ํญ๋ทฐ๋ฅผ ๊ตฌํํด๋ณด๋ ค ํฉ๋๋ค๐ SwiftUI์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํด์ฃผ๋ TabView ์ปดํฌ๋ํธ๊ฐ ์์ง๋ง ์์ ์์ ์ปค์คํ ํ๊ฒ ํญ๋ทฐ๋ฅผ ์ ๋ง๋๋ก ๊ตฌ์ฑํด๋ณผ ์ ๋ ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ธ ํญ๋ทฐ API๊ฐ ๊ถ๊ธํ์ ๋ถ์ ์๋ ํฌ์คํ ์ ๋ณด์๋ฉด ๋์์ด ๋ ์ ์์ด์ ๐ https://green1229.tistory.com/234 SwiftUI - TabView ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI ๋ด์์ ๊ธฐ๋ณธ ์ ํ์์ ์ ๊ณตํ๋ TabView์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐ ์ฃผ๋ก ์ฑ์ ๊ตฌ์ฑํ๋ค๋ณด๋ฉด ํ๋จ์ ํ / ์ค์ ๋ฑ ๋ฉ๋ด๋ก ๊ฐ ์ ์๋ TabBar์ ๋ green1229.tistory.com ์ ์ด๋ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํด์ฃผ๋ ํํ๊ฐ ์๋ ์ฐ๋ฆฌ๋ง์ ์ปค์คํ ..
-
SwiftUI๋ก ์บ๋ฆฐ๋ ์ง์ ๊ตฌํํ๊ธฐ (3ํ - ๋ณด์๋ ์บ๋ฆฐ๋)SwiftUI 2023. 6. 29. 17:44
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ ์ด์ ์ SwiftUI๋ก ์ปค์คํ ์บ๋ฆฐ๋๋ฅผ ๊ตฌํํ์ ์ด ์์ต๋๋ค. https://green1229.tistory.com/362 SwiftUI๋ก ์บ๋ฆฐ๋ ์ง์ ๊ตฌํํ๊ธฐ ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ ์ค๋๋ง์ SwiftUI๋ก ๋๋ฅ๋๋ฅ ํด๋ณด๋ ์๊ฐ์ ๋๋ค๐๐ป ๋ญ ๋๋ฅ๋๋ฅ ํด๋ณผ์ง ๊ณ ๋ฏผํ๋ค๊ฐ ๊ทธ๋ฅ ๋ฐ๋ ๋๋ ์์ด ์บ๋ฆฐ๋๋ฅผ ๊ฐ๋จํ๊ฒ ์ง์ ๋ง๋ค์ด๋ณด๊ณ green1229.tistory.com ๊ธฐ๋ณธ์ ์ธ ๊ตฌํ์ ํฌ์คํ ์ด๋ ๋จผ์ ๋ณด๊ณ ์ค์ ๋ ์ข์ต๋๋ค๐๐ป ์ฌ๊ธฐ์ ๋ฐ์ ์์ผ์ ์ข ๋ ๋ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ์ ๋ฃ์ด ์บ๋ฆฐ๋์ ๊ธฐ๋ฅ์ ๋ณด์ํด๋ดค์ต๋๋ค๐๐ปโ๏ธ ์ด๋ค ๊ธฐ๋ฅ๋ค์ด ๋ค์ด๊ฐ๋์? 1๏ธโฃ ํ์ฌ ์ ๋ฌ๋ ฅ์์๋ ์ด์ ์ดํ ๋ ์ง๊ฐ ๋ณด์ด๋ฉด์ ์ค์ ํด๋ฆญ ๋ฑ์ ๋์์ ๋์ง ์๋๋ก ์ถ๊ฐ 2๏ธโฃ ์ด์ / ์ดํ ๋ฌ..
-
SwiftUI์์ Tooltip ๊ตฌํํ๊ธฐSwiftUI 2023. 6. 22. 14:33
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์์ ๊ฐ๋จํ Tooltip์ ์ง์ ๊ทธ๋ ค๋ณด๋ฉฐ Shape๋ฅผ ๋ค๋ค๋ณผ๊น ํฉ๋๋ค๐๐ป โ ๏ธ ์ฃผ์ - ์์ฃผ ๊ฐ๋จํ Shape๋ฅผ ๋ค๋ค๋ณด๋๊ฒ์ ์ด์ ์ ๋ง์ท๊ธฐ์ ๊ฐ๋จํ ์ ์์! ์ฐ์ ๋๊ฐ์ง๊ฐ ํ์ํฉ๋๋ค. ํ๋๋ ์ผ๊ฐํ ๋ชจ์์ Shape๋ฅผ ๋ง๋๋๊ฒ ๊ทธ๋ฆฌ๊ณ ํ๋๋ ํดํ ํ ์คํธ๊ฐ ๋ค์ด๊ฐ ๋ผ์ด๋๋ Rectangle ๋ทฐ๋ฅผ ๋ง๋๋๊ฒ! ๋จผ์ ์ผ๊ฐํ ๋ชจ์์ ์ฃ์ง๋ฅผ ๊ฐ์ง Shape๋ฅผ ๋ง๋ค์ด๋ณผ๊ป์. Custom Triangle Shape private struct CustomTriangleShape: Shape { private var width: CGFloat private var height: CGFloat private var radius: CGFloat fileprivate i..
-
Beyond Scroll Views (feat. WWDC 2023)SwiftUI 2023. 6. 15. 11:05
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ API๋ฅผ ์ฌ์ฉํด ์คํฌ๋กค ๋ทฐ๋ฅผ ๋ ์ ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ณด๊ฒ ์ต๋๋ค๐๐ป ํนํ ์ด์ ๊ณผ๋ ๋ฐฉ์์ผ๋ก ๋ค๋ฅธ ์คํฌ๋กค ๋ทฐ๋ฅผ ์ปค์คํ ํ๊ฒ ์ ์ํ๋๊ฑธ ๋ณด๋ คํด์. ์ฐ๋ฆฌ๊ฐ ์ฒ๋ฆฌํ๋ ๋ง์ ์ปจํ ์ธ ๋ ๊ณ ์ ๋ ํ๋ฉด์ ๋ค ๋ด์ ์ ์์ด ์คํฌ๋กค๋ง์ ๋ง์ด ์ด์ฉํฉ๋๋ค. ์ด๋ฅผ ํตํด ํ๋ฉด์ ๋ง์๊ฒ์ ๋ด์ ์ ์์ฃ . SwiftUI๋ ์คํฌ๋กค์ ์ฑ์ ํตํฉํ ์ ์๋ ๋ช๊ฐ์ง ๋ค๋ฅธ ์ปดํฌ๋ํธ๋ค์ ์ ๊ณตํฉ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ ๊ทธ ์ค ํ๋์ธ ScrollView๋ฅผ ๋ณด๊ฒ ์ต๋๋ค! ScrollView์ ๋ํ ๊ฐ๋ต ์ ๋ฆฌ ์คํฌ๋กค ๋ทฐ๋ ์ปจํ ์ธ ๋ฅผ ์คํฌ๋กคํ ์ ์๋ building block์ ๋๋ค. ์คํฌ๋กค ๋ทฐ๋ ์คํฌ๋กค ๋ฐฉํฅ์ ์ค์ ํ๊ณ ๋ด๋ถ ์ปจํ ์ธ ๋ฅผ ๋ด์์ฃผ์ฃ . ํด๋น ์ปจํ ์ธ ๊ฐ ์คํฌ๋กค ๋ทฐ์ ํฌ๊ธฐ๋ฅผ ์ด๊ณผํ๋ฉด ํด๋น ์ปจํ ์ธ ์ค..
-
Explore SwiftUI Animation (WWDC 2023)SwiftUI 2023. 6. 8. 21:42
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ๋๋์ด ์ด๋ฒ WWDC 2023์์ ์๊ฐํ SwiftUI ์ ๋๋ฉ์ด์ ๋ถ๋ถ์ ๋ง์ง๋ง ์น์ ์ ๋ณผ ์ฐจ๋ก์ ๋๋ค ๐ ์ด๋ฒ ์ฃผ์ ๋ SwiftUI์ ์ ๋๋ฉ์ด์ ๊ธฐ๋ฅ์ ์ดํด๋ณด๊ณ ์ด๋ป๊ฒ ๋์ํด ์ธ์์ ์ธ ์๊ฐ ํจ๊ณผ๋ฅผ ์์ฑํ๋์ง ์์๋ณด๊ฒ ์ต๋๋ค. ๋ํ, SwiftUI๊ฐ ๋ทฐ์ ๋ ๋๋ง์ ์ ๋ฐ์ดํธํ๊ณ ๋ฌด์์ ์ ๋๋ฉ์ด์ ํ ์ง ๊ฒฐ์ ํ๊ณ ์๊ฐ์ ๋ฐ๋ผ ๊ฐ์ ๋ณด๊ฐํ๋ฉด์ ํ์ฌ ํธ๋์ญ์ ์ ๋ํ ์ปจํ ์คํธ๋ฅผ ์ ํํ๋ ๋ฐฉ๋ฒ์ ๊ฐ์ด ์ดํด๋ณด์ฃ ! ์ ํ์์๋ ์ฑ์ ์ ๋๋ฉ์ด์ ์ ์ถ๊ฐํ๋ ๊ฒ์ ์์ฃผ ๊ฐ๋จํ๊ฒ ๋ง๋๋๊ฒ์ด SwiftUI ๊ฐ๋ฐ์ ์์ํ ๋ ํต์ฌ ๋๊ธฐ์ค ํ๋์๋ค๊ณ ํฉ๋๋ค. Anatomy of an update SwiftUI๊ฐ ๋ทฐ์ ๋ ๋๋ง์ ์ ๋ฐ์ดํธํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์ฃ . ์ ์ฝ๋์ฒ๋ผ ์ด๋ฏธ์ง๊ฐ ํญ์ด ๋๋ฉด ์ค์ผ์ผ ์ฆ, ํฌ๊ธฐ๊ฐ ๋ณํ๋ ..
-
Advanced animations in SwiftUI (feat. WWDC 2023)SwiftUI 2023. 6. 8. 16:18
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ WWDC 2023์์ ์๊ฐ๋ SwiftUI์ ํฅ์๋ ์ ๋๋ฉ์ด์ ์ ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ Wind your way through advanced animations in SwiftUI SwiftUI์์ ๊ฐ์ ๋ ์ ๋๋ฉ์ด์ ์ ํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ํด ํ๋ฒ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ฐ์ ์์ ์ SwiftUI์์ ์ด๋ฏธ ์๊ณ ์๋ ์ ๋๋ฉ์ด์ ๋ค์ ๋ํด ํ์ธํด๋ณผ๊น์? ๊ธฐ์กด SwiftUI์์ ์ต์ํ ์ ๋๋ฉ์ด์ import SwiftUI struct ContentView: View { var xcodeImage: Image @State private var selected: Bool = false var body: some View { xcodeImage .scaleEffect(selecte..
-
Discover Observation in SwiftUI (feat. WWDC 2023)SwiftUI 2023. 6. 8. 10:35
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ ์ด๋ฒ WWDC 2023์์ ์๊ฐ๋ SwiftUI์์ ๋ฐ์ดํฐ ํ๋ก์ฐ ๋ณํ๋ฅผ ๊ฐ์ ธ๊ฐ๋ฉด์ ์๋ก ์๊ธด ๋งคํฌ๋ก์ ๊ธฐ์กด ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ ๋ฑ ๋ฐฉ์์ ๋ณํ๋ค์ ๋ค๋ค๋ณผ๊นํด์๐๐ป ์ถฉ๋ถํ SwiftUI ๋ฐ์ดํฐ ๋ชจ๋ธ์ด Observation์ ํตํด ๊ฐ์ํ ๋์๊ณ ๋งคํฌ๋ก๊ฐ ๋ ๋ชจ๋ธ์ ๋จ์ํํ๊ณ ์ฑ ์ฑ๋ฅ์ ๊ฐ์ ํด์ค๋๋ค. ์ ๊ทธ๋ผ ์ผ๋ง๋ ๋ ํธ๋ฆฌํด์ก๊ณ ์ ์ฉํด์ก๋์ง ๊ฐ์ด ์ดํด๋ณด์์ฃ ๐บ๐ป What is Observation? ์๋ก ๋์จ Observation์ ๊ณผ์ฐ ๋ฌด์์ผ๊น์? Observation์ ํ๋กํผํฐ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ถ์ ํ๊ธฐ ์ํ ์๋ก์ด Swift ๊ธฐ๋ฅ์ ๋๋ค. ๋งคํฌ๋ก์ ๋๋จํ ๊ธฐ๋ฅ์ ํตํด ์ด๋ค์ง์ฃ . ์ฐ๋ฆฌ๊ฐ ํ์ ๊พธ๋ฆฌ๋ ๋ชจ๋ธ์ @Observable์ ์ถ๊ฐํ๋ ๊ฒ๋ง์ผ๋ก UI๊ฐ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๋ณ๊ฒฝ..