ios
-
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์ ํ์ฉํ๋ฉด ์กฐ๊ธ ๋ ํธ๋ฆฌํ๊ฒ ๋ถ์ฌ๋ฃ๊ธฐ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ด์ ๐ ์ฌ์ค, ์์ฒญ๋๊ฒ ์ ์ฉํ๊ฒ ์ฐ์ผ๊ฒ ๊ฐ๋ค๊ณ ๋ ์๊ฐํ์ง ์์ง๋ง ์ด๋ฐ ๊ธฐ๋ฅ๋ ์๋ค๋๊ฑธ ..
-
Core Transferable ํบ์๋ณด๊ธฐiOS 2024. 4. 18. 18:59
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ Core Transferable์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ด์ Transferable ํฌ์คํ ์์ Transferable์ด ์ด๋ค ํ๋กํ ์ฝ์ด๊ณ ์ค์ ๋ก ์ด๋ป๊ฒ ์ฐ์ด๋์ง ์์๋ดค๋๋ฐ์. Transferable ์ฐ๋จนํ๊ธฐ ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ ์ด์ SwiftUI์ ShareLink๋ฅผ ํ์ตํ๋ฉด์ ๋์จ Transferable์ด๋ผ๋ ํ๋กํ ์ฝ์ ๋ํด ํ์ตํด๋ณด๋ ค๊ณ ํฉ๋๋ค ๐๐ป ์ด๋ป๊ฒ ์ด ์ฃผ์ ์ ๋ํด ์๊ธฐ๊ฐ ๋์๋์ง green1229.tistory.com ์ด๋ฒ์๋ ์กฐ๊ธ ๋ ์์๋ก ์ฌ๋ผ๊ฐ์ ๊ฐ๋ ์์ฒด์ ์ข ๋ ์ ์ก ์ ํ์ ์ธ๋ถํ๋๊ฒ๋ค์ ์์๋ณด๋ ค๊ณ ํฉ๋๋ค! ๊ทธ๋ผ ๋ฐ๋ก ๋ค์ด๊ฐ๋ณด๊ฒ ์ต๋๋ค ๐ Core Transferable Core Transferable์ Tran..
-
Transferable ์ฐ๋จนํ๊ธฐiOS 2024. 4. 15. 18:59
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ ์ด์ SwiftUI์ ShareLink๋ฅผ ํ์ตํ๋ฉด์ ๋์จ Transferable์ด๋ผ๋ ํ๋กํ ์ฝ์ ๋ํด ํ์ตํด๋ณด๋ ค๊ณ ํฉ๋๋ค ๐๐ป ์ด๋ป๊ฒ ์ด ์ฃผ์ ์ ๋ํด ์๊ธฐ๊ฐ ๋์๋์ง ์๋ ํฌ์คํ ์ ์ฐธ๊ณ ํ๋ฉด ์ ์ ์์ต๋๋ค! SwiftUI - ShareLink ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ ShareLink์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฌ์ค ์์ ํฌ์คํ ์์ SwiftUI์์ ๊ณต์ ์ํธ๋ฅผ ์ํ ActivityView๋ฅผ ์ฌ์ฉํ๋๊ฒ์ ํ์ตํ์ ์ด ์์ต๋ green1229.tistory.com ๊ทธ๋ผ ํ๋ฒ ์์๋ณผ๊น์? Transferable ์ฐ์ , WWDC 2022์์ ์๊ฐ๋ ํ๋กํ ์ฝ๋ก iOS 16.0 ์ด์์์ ์ฑํํ์ฌ ์ฌ์ฉํ ์ ์์ด์! ์ ์ ์์ฒด๋ ํ์ ์ด ..
-
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 = ..