728x90 ๋ฐ์ํ ๐ iOS/SwiftUI4 [SwiftUI] GeometryReader๋? (feat. GeometryProxy,CoordinateSpace) ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค! ์ค๋์ SwitUI๋ฅผ ์ด์ฉํด์ Layout์ ์ก์ ๋ ์์ฃผ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋๋ GeometryReader์ ๋ํด์ ์์๋ณด๋ ค๊ณ ํฉ๋๋ค. ๋ฐ๋ก ์์ํ ๊ฒ์~ GeometryReader๋? ์ด๋ฆ์ ์ง์ญํ๋ฉด Geometry๋ ๊ธฐํํ์ ๋ํ๋ด๋๊น, ๊ธฐํํ์ ์ธ ๋ฌด์ธ๊ฐ๋ฅผ ์ฝ๋ ๊ฒ์ด๋ผ๊ณ ํด์ํ ์ ์๋๋ฐ์. ๊ณต์ ๋ฌธ์์๋ ์ด๋ฆ์ ์ง์ญํ ๊ฒ๊ณผ ๋น์ทํ๊ฒ "์ปจํ ์ธ ์ ํฌ๊ธฐ์ ์์น๋ฅผ ํจ์๋ก ๋ํ๋ด๋ ์ปจํ ์ด๋ ๋ทฐ์ผ!" ๋ผ๊ณ ์๊ฐํฉ๋๋ค. GeometryReader๋ฅผ ์ด๊ธฐํ ํ๋ ๋ฐฉ๋ฒ์ ์๋์ ๊ฐ์ด ์ปจํ ์ธ ๋ฅผ ๋ง๋๋๋ฐ GeometryProxy๋ฅผ ์ด์ฉํด์ ๋ง๋ญ๋๋ค. GeometryProxy๋? ๊ทธ๋ ๋ค๋ฉด GeometryProxy๋ ๋ฌด์์ผ๊น์? ์ฐ์ Proxy์ ๋ป์ ๋ฌด์์ธ๊ฐ๋ฅผ ๋์ ํ๋ค๋ ์๋ฏธ๋ฅผ ๋ํ๋ ๋๋ค. .. 2022. 4. 4. [SwiftUI] ์์ฐ์ค๋ฌ์ด ํ๋ฉด์ ํ ์ ๋๋ฉ์ด์ ๊ตฌํํ๊ธฐ (feat. matchedGeometryEffect,Namespace) ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค! ํ์์ AppStore๋ฅผ ๋ณด๋ฉด ํ๋ฉด ๊ฐ ์ ํํ ๋ ์์ฐ์ค๋ฌ์ด ์ ๋๋ฉ์ด์ ์ด ๋ง์ด ๋ณด์๋๋ฐ, '์ด๊ฑด ์ด๋ป๊ฒ ๊ตฌํํ์๊น' ๋ผ๋ ์๊ฐ์ด ๋ง์ด ๋ค์ด ๊ธ์ ์ ๋ฆฌํ๊ฒ ๋์์ต๋๋ค. ๋ฐ๋ก ์์ํ ๊ฒ์~ Preview @Namespace ํ๋ฉด ์ ํ ์ ๋๋ฉ์ด์ ์ ๊ตฌํํ๊ธฐ ์ํด์ @Namespace ํ๋กํผํฐ ๋ํผ๊ฐ ํ์ํฉ๋๋ค. @Namespace๋ ๊ณต์ ๋ฌธ์์ ์๋์ ๊ฐ์ด ์๊ฐํฉ๋๋ค. ์์ฑ์ ํฌํจํ๋ ๊ฐ์ฒด(์: view)์ ์๊ตฌ ID๋ก ์ ์๋ ๋ค์์คํ์ด์ค์ ๋ํ ์ก์ธ์ค๋ฅผ ํ์ฉํ๋ ๋์ ์์ฑ ์ ํ์ ๋๋ค. ๊ฐ๋จํ๊ฒ ๋งํ๋ฉด ๊ฐ์ฒด์ ์ ๋ณด๋ฅผ ID์ ํจ๊ป ๊ธฐ์ตํ๊ณ ์๋ ๋ํผ์ ๋๋ค. ์ด ID๋ฅผ ํตํด์ ์ ๋ณด๋ฅผ ๋ค๋ฅธ ๋ทฐ์ ๊ณต์ ํ ์ ์์ผ๋ฉฐ, ์ด๊ฒ์ ํตํด ์ง์ค๋ฉํธ๋ฆฌ ์ ๋๋ฉ์ด์ ์ด ๊ฐ๋ฅํด ์ง๋๋ค. ์ ์ธํ๋ ๋ฐฉ์์ ์.. 2022. 3. 28. [SwiftUI] TabView์ ๋ํด ์์๋ณด๊ธฐ (feat. UITabBar) ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค! ์ค๋์ SwiftUI์์ ํญ๋ทฐ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณด๋ ค๊ณ ํฉ๋๋ค. (UIKit์์ UITabBar๋ฅผ ๋ปํฉ๋๋ค.) ๋ฐ๋ก ์์ํ ๊ฒ์~ TabView Contents SwiftUI์์ ํญ๋ทฐ๋ฅผ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋๋ฌด ๋๋ฌด ๊ฐ๋จํฉ๋๋ค. ์๋์ ๊ฐ์ด TabView๋ก ๊ฐ์ธ๊ณ ํญ๋ทฐ ์์ ๋ค์ด๊ฐ ๋ทฐ๋ค์ ๋ฃ์ผ๋ฉด ๋ฉ๋๋ค. TabView { View1() View2() View3() ... } TabView Item ํ์ง๋ง ์๋์ ๊ฐ์ด ์ค์ ํ๋ฉด ์์ง ํญ๋ทฐ๊ฐ ์กด์ฌํ์ง ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋๋ฐ์. TabView { LoginView() HelloView() SettingView() } ์ด์ ๋ ์ด๋ฏธ ํญ๋ทฐ๊ฐ ์กด์ฌํ์ง๋ง ํญ๋ทฐ๋ฅผ ๋ํ๋ด๋ ์์ดํ ์ ์ธํ ํด์ฃผ์ง ์์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ณ ๋ก ๋ค์๊ณผ ๊ฐ์ด ํญ์์ดํ .. 2022. 3. 10. [SwiftUI] @State๋? ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค! ์์ฆ SwiftUI ๊ณต๋ถ๋ฅผ ํ๊ณ ์๋๋ฐ @State๊ฐ ๋ง์ด ์ฐ์ด๊ธด ํ๋๋ฐ ๋ญ์ง ์ ํํ๋ ๋ชจ๋ฅด๊ฒ ๋๋ผ๊ตฌ์. ๊ทธ๋์ @State์ ๋ํด์ ์ ํํ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํฉ๋๋ค! ๋ฐ๋ก ์์ํ ๊ฒ์~ @State ๋? ์ ํ ๊ณต์ ๋ฌธ์์๋ ์๋์ ๊ฐ์ด ์ค๋ช ํฉ๋๋ค. ํด์ํด๋ณด๋ฉด SwiftUI์์ ๊ด๋ฆฌํ๋ ๊ฐ์ ์ฝ๊ณ ์ธ ๋ ์ฌ์ฉํ๋ ๊ฒ์ด๋ผ๊ณ ํ๋ค์. ๊ฐ์๋ฅผ ์ดํด๋ณด๋ฉด ์๋์ ๊ฐ์ต๋๋ค. 1. ์ํ๊ฐ์ด ๋ณ๊ฒฝ๋๋ฉด View๋ฅผ ๋ค์ ๊ณ์ฐํ๊ณ ์ ๋ฐ์ดํธ ํฉ๋๋ค. 2. ์ธ์คํด์ค ๊ฐ์ด ์๋๋ผ ๊ฐ์ ์ฝ๊ณ ์ฐ๋ ์๋จ์ ๋๋ค. 3. ์ฃผ์ํ ์ ์ ๋ทฐ์ ๋ฐ๋ ์์์ ๋๋ ๋ทฐ์์ ํธ์ถํ ๋ฉ์๋์์๋ง ์ ๊ทผํด์ผ ํ๋ฏ๋ก ๋ทฐ์ ํด๋ผ์ด์ธํธ๊ฐ ์ ๊ทผํ์ง ๋ชปํ๋๋กprivate๋ก ์ ์ธํด์ผ ํฉ๋๋ค. 4. ์ฌ์ฉํ ๋๋ $์ ํจ๊ป ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. ๊ตฌ.. 2021. 11. 7. ์ด์ 1 ๋ค์ 728x90 ๋ฐ์ํ