scrollview
-
SwiftUI ์คํฌ๋กค ๋ทฐ์ ์๊ณ๊ฐ ์ฝ์งํ๊ธฐSwiftUI 2025. 1. 16. 19:00
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ ์ด๋ ํ ํ์ต ์ ๋ณด ์ ๋ฌ๋ณด๋ค๋ ๊ทธ๋ฅ ์ฝ์ง์ ํ๋ ๊ณผ์ ๊ณผ ๊ทธ๊ฑธ ๊ธฐ๋กํด๋ณด๋ ํฌ์คํ ์ ๋๋ค ๐๐ป SwiftUI์ ์คํฌ๋กค ๋ทฐ์ ์๊ณ๊ฐ ์ฝ์งํ๊ธฐ์ฐ์ , ์๋ ์ฝ๋๋ฅผ ๋ด๋ณผ๊น์? import SwiftUIstruct ContentView: View { var body: some View { ScrollView { VStack(spacing: 50) { Rectangle() .fill(.red) .frame(height: 100) Rectangle() .fill(.green) .frame(height: 100) Rectangle()..
-
SwiftUI - refreshable ScrollViewSwiftUI 2024. 11. 22. 20:40
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ refreshable ๊ธฐ๋ฅ์ ๊ฐ์ง ScrollView๋ฅผ ๋ง๋ค์ด๋ณด๋ ค๊ณ ํฉ๋๋ค ๐๐ป ์ฌ์ค, ์ด์ SwiftUI์์ refreshable์ด๋ผ๋ ๋ทฐ ๋ชจ๋ํ์ด์ด๊ฐ ์กด์ฌํฉ๋๋ค. ๊ด๋ จํด์ ํฌ์คํ ์ ์๋์์ ์ ๋ฆฌํด๋ดค์ด์! SwiftUI - refreshable์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ List์์ ์ฌ์ฉ ๊ฐ๋ฅํ refreshable์ด๋ผ๋ ์๋ก ๊ณ ์นจ ๊ธฐ๋ฅ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐ ์ฐ์ ํด๋น ๊ธฐ๋ฅ์ iOS 15 ๋ถํฐ ์ฌ์ฉ์ด ๊ฐ๋ฅํด์! ์ฐธ๊ณ ๋ก WWDCgreen1229.tistory.com ์์ฝํ์๋ฉด, ์ฌ์ค ์์ฃผ ์ ์ฉํ ๋ชจ๋ํ์ด์ด์์.์คํฌ๋กค ํ๊ฒฝ์์ ์ต์๋จ์์ ์๋๋ก ๋๋๊ทธ ํ์ ์ ์๋ก๊ณ ์นจ ๋๋ ๊ธฐ๋ฅ์ ์์ฃผ ์์ฝ๊ฒ ๊ตฌํํด์คฌ์ผ๋๊น์..!! ๊ทธ๋ฐ..
-
SwiftUI์์ ์คํฌ๋กค ๋ทฐ ๋ด ์ปจํ ์ธ ์๋ ์ ์ดํ๊ธฐSwiftUI 2024. 5. 2. 18:27
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์์ ์คํฌ๋กค ๋ทฐ ๋ด ์ปจํ ์ธ ์๋๋ฅผ ์์ดํ๊ฒ ์ ์ดํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๊ตฌํํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ๋จผ์ , ์ด์ ๊ด๋ จํ์ฌ ์ด์ ์ ์๋ ํฌ์คํ ์์ ScrollOffset์ ๊ฐ์งํ์ฌ ์ปจํ ์ธ ๋ณ ์์ดํ ์คํฌ๋กค ์๋๋ฅผ ๊ฐ์ง๋๊ฒ์ฒ๋ผ ๋ณด์ด๋๋ก offset์ ์กฐ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณธ์ ์ด ์์ด์! SwiftUI์์ ScrollOffset์ ๊ฐ์งํ๋ ScrollView ๊ตฌํํ๊ธฐ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI๋ก ์ปค์คํ ํ ScrollOffset ๊ฐ์ ๊ฐ์งํ์ฌ ์ฌ์ฉํ๋ ScrollView ๊ตฌํ์ ํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฐ์ SwiftUI์์ ๊ธฐ๋ณธ์ ์ธ ScrollView ์ปดํฌ๋ํธ๋ง์ผ๋ก๋ ์คgreen1229.tistory.com ์ด๋ฒ ํฌ์คํ ์ ํด๋น ์ด์ ..
-
SwiftUI์์ ScrollOffset์ ๊ฐ์งํ๋ ScrollView ๊ตฌํํ๊ธฐSwiftUI 2024. 4. 9. 18:01
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI๋ก ์ปค์คํ ํ ScrollOffset ๊ฐ์ ๊ฐ์งํ์ฌ ์ฌ์ฉํ๋ ScrollView ๊ตฌํ์ ํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฐ์ SwiftUI์์ ๊ธฐ๋ณธ์ ์ธ ScrollView ์ปดํฌ๋ํธ๋ง์ผ๋ก๋ ์คํฌ๋กค ๋ ์์น์ธ ScrollOffset์ ๊ฐ์งํ ์๊ฐ ์์ต๋๋ค. ์ด์ background๋ก GeometryReader๋ฅผ ํ์ฉํด์ ์ปค์คํ ํ๊ฒ ๊ตฌํํด์ค์ผํด์. ๊ทธ๋์ ์ด๋ฒ ํฌ์คํ ์์ ์ปค์คํ ํ scrollOffset์ ๊ฐ์งํ๋ OffsetObservableScrollView๋ฅผ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค! OffsetObservableScrollView ์ฐ์ , ๊ตฌํ๋ถํฐ ์ดํด๋ณด์์ฃ ! struct OffsetObservableScrollView: View { var axes: Axis.Set = ..
-
SwiftUI์์ View์ Size ์ธก์ ํ๊ธฐSwiftUI 2023. 9. 27. 11:04
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์์ View์ Size๋ฅผ ์ธก์ ํ๋ ์ฝ๋๋ฅผ ๊ณต์ ํด๋ณผ๊นํฉ๋๋ค ๐๐ป ์ด๋จ๋ View Size ๊ฐ์ด ํ์ํ ๊น์?์ฐ์ , SwiftUI๋ก ๊ตฌํ์ ํ๋ค๋ณด๋ฉด ์ํ๋ ํด๋น ์์ญ์ ๋ทฐ ์ฌ์ด์ฆ๋ฅผ ๊ฐ์ง๊ณ ์ด๋ ํ ์์ ์ ํด์ค์ผํ๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํฉ๋๋ค. ์๋ฅผ๋ค์ด, VStack์ผ๋ก ํ์ ๋ทฐ๋ค์ด ์์ผ๋ ํค๋ ์์ญ์ ์ฌ๋ฌ ๋ทฐ๋ค์ ์กฐํฉํ์ฌ ๋ฃ๊ณ ์ด์ ๋ํ ํค๋ ์์ญ์ ๋ทฐ ๋์ด๋ฅผ ๊ฐ์ง๊ณ ์ด๋ ํ ์์ ์ ํด์ค๋๊ฐ ์ข ์ข ๋ฐ์ํฉ๋๋ค. ๋ฒํผ ํญ ๋ฑ ์ธํฐ๋์ ์ด ๋ฐ์ํ์๋ offset์ ์ต์๋จ์ผ๋ก ์ด๋์ํค๋๊ฒ์ด ์๋ ํค๋ ์์ญ ์ดํ๋ถํฐ ๋ ธ์ถ์ํค๊ณ ์ถ๋ค๋ฉด ์ด ํค๋ ์์ญ์ height๋ฅผ ๊ตฌํด y offset์ ๋ณ๊ฒฝํด์ค์ผ ํ ์ ์์ฃ . ๋ฌผ๋ก ์ด๋ด ๊ฒฝ์ฐ ํค๋ ์์ญ์ ๋ด๊ธด ํ์ ๋ทฐ๋ค์ ํ๋ ์์ด ๊ณ ์ ..
-
Beyond Scroll Views (feat. WWDC 2023)SwiftUI 2023. 6. 15. 11:05
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ API๋ฅผ ์ฌ์ฉํด ์คํฌ๋กค ๋ทฐ๋ฅผ ๋ ์ ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ณด๊ฒ ์ต๋๋ค๐๐ป ํนํ ์ด์ ๊ณผ๋ ๋ฐฉ์์ผ๋ก ๋ค๋ฅธ ์คํฌ๋กค ๋ทฐ๋ฅผ ์ปค์คํ ํ๊ฒ ์ ์ํ๋๊ฑธ ๋ณด๋ คํด์. ์ฐ๋ฆฌ๊ฐ ์ฒ๋ฆฌํ๋ ๋ง์ ์ปจํ ์ธ ๋ ๊ณ ์ ๋ ํ๋ฉด์ ๋ค ๋ด์ ์ ์์ด ์คํฌ๋กค๋ง์ ๋ง์ด ์ด์ฉํฉ๋๋ค. ์ด๋ฅผ ํตํด ํ๋ฉด์ ๋ง์๊ฒ์ ๋ด์ ์ ์์ฃ . SwiftUI๋ ์คํฌ๋กค์ ์ฑ์ ํตํฉํ ์ ์๋ ๋ช๊ฐ์ง ๋ค๋ฅธ ์ปดํฌ๋ํธ๋ค์ ์ ๊ณตํฉ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ ๊ทธ ์ค ํ๋์ธ ScrollView๋ฅผ ๋ณด๊ฒ ์ต๋๋ค! ScrollView์ ๋ํ ๊ฐ๋ต ์ ๋ฆฌ ์คํฌ๋กค ๋ทฐ๋ ์ปจํ ์ธ ๋ฅผ ์คํฌ๋กคํ ์ ์๋ building block์ ๋๋ค. ์คํฌ๋กค ๋ทฐ๋ ์คํฌ๋กค ๋ฐฉํฅ์ ์ค์ ํ๊ณ ๋ด๋ถ ์ปจํ ์ธ ๋ฅผ ๋ด์์ฃผ์ฃ . ํด๋น ์ปจํ ์ธ ๊ฐ ์คํฌ๋กค ๋ทฐ์ ํฌ๊ธฐ๋ฅผ ์ด๊ณผํ๋ฉด ํด๋น ์ปจํ ์ธ ์ค..