swiftUI
-
SwiftUI์์ Search Interface ์ถ๊ฐํ๊ธฐSwiftUI 2024. 5. 17. 18:13
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์์ ์ ๊ณต๋๋ ๋ฉ์๋๋ฅผ ์ด์ฉํด Search Interface๋ฅผ ์ถ๊ฐํ๋ ํ์ต์ ํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฐ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์์น๋ฐ๋ฅผ ๊ตฌ์ฑํ๊ณ ์ด ๊ธฐ๋ฅ์ ์ ๊ณตํด๋ณด๋๊ฑฐ๋ผ๊ณ ๋ณด๋ฉด ๋ฉ๋๋ค! ๊ทธ๋ผ ๋ฐ๋ก ํ๋ฒ ์์๋ณผ๊น์? Search Interface?์ฑ์์ ์ปจํ ์ธ ๋ฅผ ๊ฒ์ํ๋๋ฐ ์ฌ์ฉํ ์ ์๋ ์์น ์ธํฐํ์ด์ค๋ฅผ SwiftUI์์ ์ ๊ณตํด์ค๋๋ค.SwiftUI์์ searchable์ด๋ผ๋ ๋ทฐ ๋ชจ๋ํ์ด์ด๋ฅผ ์ ๊ณตํด์ค๋๋ค.๊ฐ๋จํ ์ด ๋ทฐ ๋ชจ๋ํ์ด์ด๋ฅผ ์ ์ฉํ์ฌ ์๋์ ๊ฐ์ ์์น ์ธํฐํ์ด์ค๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค ๐ ๋ฌผ๋ก ์ด searchable์ด๋ผ๋ ๋ทฐ ๋ชจ๋ํ์ด์ด์ ์ด๋์ ๋ผ์ด์ ๊ฐ ๋ค์ํ ๋ง์ ์ ์ ํ๊ฒ์ ์ ์ฉ์์ผ์ผ ํ์ฃ .๋ณดํต์ ๊ธฐ๋ณธ์ ์ธ searchable ๋ฉ์๋๋ iOS 15 ์ด์..
-
SwiftUI - TableSwiftUI 2024. 5. 13. 18:57
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ Table ์ปดํฌ๋ํธ์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฐ์ SwiftUI์์ ํ ์ด๋ธ ํ์์ผ๋ก ๋ทฐ๋ฅผ ๊ทธ๋ฆฌ๋๊ฒ์๋ ๋ค์ํ ๋ฐฉ๋ฒ์ด ์์ฃ .List๋ Stack์ ์ด์ฉํด ๋์ฑ ๋ ์ปค์คํ ํ๊ฒ ๊ฐ๋ฐ์ ํ ์๋ ์์ด์. ์ค๋ ๊ฐ์ด ์์๋ณผ ์ด Table๋ ๋น์ฐํ๊ฒ ๋ชจ๋ ์ปดํฌ๋ํธ๋ฅผ ๋ชฉ๋ก ํํ๋ก ๋ํ๋ผ๋ ์ฌ์ฉํ๋ ์ปดํฌ๋ํธ์ ๋๋ค.์ฌํ๊น์ง๋ ์ฃผ๋ก List๋ฅผ ํตํด ๋ชฉ๋ก์ ๊ตฌํํด์๋ค๋ฉด, Table์ด๋ผ๋๊ฒ๋ ์๋ค๋๊ฑธ ์๊ฐํด๋ณด๋ ์๊ฐ์ด์์ใ ใ ๊ทธ๋ผ ํ๋ฒ Table ์์๋ณผ๊น์? Table์ฐ์ List๋ SwiftUI๊ฐ ๋์จ ์์ ์ธ iOS 13 ์ด์๋ถํฐ ์ฌ์ฉ์ด ๊ฐ๋ฅํ์ง๋ง, Table์ iOS 16์์ ๋์จ ๋น๊ต์ ์ผ๋ง ๋์ง ์์ ์ปดํฌ๋ํธ์ ๋๋ค.์ฆ, List๋ก ์ผ์ผํ ์ปดํฌ๋ํธ๋ค์ ..
-
SwiftUI - transformEnvironmentSwiftUI 2024. 5. 9. 19:00
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ transformEnvironment์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฐ์ ์ ๋ ์ฌ์ค ์ด ๊ฐ๋ ์ ๋ํด ์ฌ์ฉํด๋ณธ์ ์ด ์์ด์ ๋ชฐ๋์๊ธดํด์!๊ทธ๋ฐ๋ฐ, WWDC๋ฅผ ํตํด SwiftUI์ ๊ธฐ์ด ์์๋ถํฐ ์คํฐ๋ ๋์ค ์๋์ ๊ฐ์ด ์ฒ์๋ณด๋ ๋ฉ์๋๊ฐ ๋ณด์์ต๋๋ค! transformEnvironment? ์ด๊ฒ ๋ญ์ง..?ํด๋น WWDC ์์์ 2021๋ ์ ๊ณต๊ฐ๋ "Demystify SwiftUI"๋ผ๋ ์์์ผ๋ก ํ๋ฐ๋ถ์ ๊ตฌ์กฐ์ ์ธ ์๋ณ์์ ๋ํด ์ค๋ช ํ๋ฉฐ ๋์ต๋๋ค. ๋๋์ ์ ์ญ์ ์ธ ํ๊ฒฝ๋ณ์์ธ Environment ๊ฐ์๊ฑฐ์ธ๊ฑฐ ๊ฐ์๋ฐ ์ฒ์ ์ ํ๊ธฐ์ ํ๋ฒ ์ด๋ ๊ฒ ํ์ตํ๋ฉฐ ๊ธฐ๋กํด๋ณด๊ฒ ๋์์ด์ ๐ ์ธํธ๋ก๊ฐ ๋๋ฌด ๊ธธ์๋๋ฐ, ๊ทธ๋ผ ๋ฐ๋ก ์์๋ณด์์ฃ ๐๐ป transformEnviro..
-
UIPasteboard๋ฅผ ํตํ ํด๋ฆฝ๋ณด๋ ์ฌ์ฉํ๊ธฐiOS 2024. 5. 7. 18:49
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ UIPasteboard์ ๋ํด ์์๋ณด๊ณ ํด๋น ํด๋์ค๋ฅผ ์ฌ์ฉํด ์ค์ ํด๋ฆฝ๋ณด๋์ ํ ์คํธ๋ฅผ ์ ์ฅํ๊ณ ์ธ๋ถ ์ฑ์ด๋ ์ด๋์๋ ์ด ๊ณต์ ๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํด๋ณด๋๊ฒ์ ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฐ์ , ์ด์ ํฌ์คํ ์์ PasteButton ์ปดํฌ๋ํธ๋ฅผ ํตํด ํ์ฌ ํด๋ฆฝ๋ณด๋์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ฌ๋ฃ๊ธฐ ํด๋ณด๋๊ฒ์ ์์๋ณธ์ ์ด ์์ด์. SwiftUI - PasteButton์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ PasteButton์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฐ๋ฆฌ๊ฐ ๋งฅ๋ถ์์๋ ์์ดํฐ์์๋ ํ ์คํธ๋ฅผ ๋ณต์ฌํ๊ณ ๋ถ์ฌ๋ฃ๋ ๊ธฐ๋ฅ์ ์์ฃผ ํํ๊ฒ ์ฌ์ฉํ๊ณ green1229.tistory.com ์ด๋ฒ์๋ ์กฐ๊ธ ๋ ๋์๊ฐ์, ๊ผญ ์ด ๋ฒํผ์ ํตํ ๋์์ด ์๋๋๋ผ๋ ํ์ฌ ๊ณต์ ํ ๋ฐ์ด..
-
SwiftUI์์ ์คํฌ๋กค ๋ทฐ ๋ด ์ปจํ ์ธ ์๋ ์ ์ดํ๊ธฐSwiftUI 2024. 5. 2. 18:27
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์์ ์คํฌ๋กค ๋ทฐ ๋ด ์ปจํ ์ธ ์๋๋ฅผ ์์ดํ๊ฒ ์ ์ดํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๊ตฌํํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ๋จผ์ , ์ด์ ๊ด๋ จํ์ฌ ์ด์ ์ ์๋ ํฌ์คํ ์์ ScrollOffset์ ๊ฐ์งํ์ฌ ์ปจํ ์ธ ๋ณ ์์ดํ ์คํฌ๋กค ์๋๋ฅผ ๊ฐ์ง๋๊ฒ์ฒ๋ผ ๋ณด์ด๋๋ก offset์ ์กฐ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณธ์ ์ด ์์ด์! SwiftUI์์ ScrollOffset์ ๊ฐ์งํ๋ ScrollView ๊ตฌํํ๊ธฐ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI๋ก ์ปค์คํ ํ ScrollOffset ๊ฐ์ ๊ฐ์งํ์ฌ ์ฌ์ฉํ๋ ScrollView ๊ตฌํ์ ํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฐ์ SwiftUI์์ ๊ธฐ๋ณธ์ ์ธ ScrollView ์ปดํฌ๋ํธ๋ง์ผ๋ก๋ ์คgreen1229.tistory.com ์ด๋ฒ ํฌ์คํ ์ ํด๋น ์ด์ ..
-
SwiftUI onDrag & onDropSwiftUI 2024. 4. 29. 18:48
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ onDrag์ onDrop ๋ฉ์๋ ์ฌ์ฉ์ ๋ํด ์์๋ด ๋๋ค ๐๐ป ์ด์ ํฌ์คํ ์์ SwiftUI์ ๋๋๊ทธ ์ค ๋๋กญ์ ๊ตฌํํ๊ธฐ ์ํด์ draggable๊ณผ dropDestination์ ๋ํด ์์๋ณด๊ณ ์ ์ฉํด๋ดค์ด์!๊ทธ๋ฐ๋ฐ, iOS 16 ์ด์์์ ์ฌ์ฉ ๊ฐ๋ฅํ ํ๊ณ์ ๋ ์์์ด์. SwiftUI์์ Drag & Drop ์ ์ฉํ๊ธฐ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI๋ก Drag & Drop์ ๊ตฌํํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฐ์ , SwiftUI์์ draggable๊ณผ dropDestination์ด๋ผ๋ ๋ฉ์๋๊ฐ ์กด์ฌํด์.์ด๊ฑธ ์์๋ณด๊ณ ํ์ฉํด๋ณด๋ ค ํฉ๋๋ค!green1229.tistory.com ๊ทธ๋์ ์ด๋ฒ์๋ ๋น๊ต์ ์ฌ์ฉํ ์ ์๋ OS ๋ฒ์ ๋ ๋..
-
SwiftUI์์ Drag & Drop ์ ์ฉํ๊ธฐSwiftUI 2024. 4. 25. 18:51
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI๋ก Drag & Drop์ ๊ตฌํํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฐ์ , SwiftUI์์ draggable๊ณผ dropDestination์ด๋ผ๋ ๋ฉ์๋๊ฐ ์กด์ฌํด์.์ด๊ฑธ ์์๋ณด๊ณ ํ์ฉํด๋ณด๋ ค ํฉ๋๋ค! ๊ทธ๋ผ ๋ฐ๋ก ์~ ๐ซdraggableiOS 16์์ ๋ถํฐ ๋์จ ์ด ๋ฉ์๋๋ ๋ทฐ๋ฅผ ๋๋๊ทธ ์ค ๋๋กญ ๊ฐ๋ฅํ ์์ค๋ก ํ์ฑํ ์์ผ์ค๋๋ค. func draggable(_ payload: @autoclosure @escaping () -> T) -> some View where T : Transferable ์ ์๋ ์ด๋ฌํ๋ฉฐ, payload๋ผ๋ ํ๋ผ๋ฏธํฐ๊ฐ ์กด์ฌํฉ๋๋ค.์ด ํ๋ผ๋ฏธํฐ๋ ๋จ์ผ ์ธ์คํด์ค ํน์ ์ด ๋ทฐ์ ๋๋๊ทธ ๊ฐ๋ฅํ ๋ฐ์ดํฐ๋ฅผ ๋ํ๋ด๋ Transferableํ ๊ฐ์ ๋ฐํํ๋ ํด..
-
SwiftUI - PasteButtonSwiftUI 2024. 4. 22. 18:34
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ PasteButton์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฐ๋ฆฌ๊ฐ ๋งฅ๋ถ์์๋ ์์ดํฐ์์๋ ํ ์คํธ๋ฅผ ๋ณต์ฌํ๊ณ ๋ถ์ฌ๋ฃ๋ ๊ธฐ๋ฅ์ ์์ฃผ ํํ๊ฒ ์ฌ์ฉํ๊ณ ์๋ ๊ธฐ๋ฅ์ ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ฐ๋ฆฌ๊ฐ ๋ง๋ ์ฑ์ ์ด๋ ํ ํ ์คํธ๋ฅผ ๋ถ์ฌ๋ฃ๊ธฐ ํ ๋ ๊ฐํน ๋ถ์ฌ๋ฃ๋ ๊ถํ์ ๋ํด ์ฌ๋ถ๋ฅผ ๋ฌป๋ ์ฐฝ์ ๋ณธ์ ์ด ์์๊ฑฐ์์. ์ด๋ ๋น ๋ฅด๊ฒ ๋ณต์ฌํด์ผํ๋ ์ํฉ์์ ์ข ์ข ๊ท์ฐฎ์์ ์ ๋ฐํ๊ธฐ๋ ํ๊ณ , ๋ํ ํ์ค๋ฒ ์ํธ๋ฅผ ๋์ ๋ถ์ฌ๋ฃ๊ธฐ ๋ฒํผ์ ์ ํํด์ผ ํ๋๊ฒ์ ์์ด ๊ฐ๋์ ๋ ํ๋์ค์ ๋์์ด ๋ ๋ฐ์ํ๋ ๊ท์ฐฎ๊ธฐ๋ ํ์ฃ ! ๊ทธ๋ฐ๋ฐ SwiftUI์ PasteButton์ ํ์ฉํ๋ฉด ์กฐ๊ธ ๋ ํธ๋ฆฌํ๊ฒ ๋ถ์ฌ๋ฃ๊ธฐ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ด์ ๐ ์ฌ์ค, ์์ฒญ๋๊ฒ ์ ์ฉํ๊ฒ ์ฐ์ผ๊ฒ ๊ฐ๋ค๊ณ ๋ ์๊ฐํ์ง ์์ง๋ง ์ด๋ฐ ๊ธฐ๋ฅ๋ ์๋ค๋๊ฑธ ..