ios14 3

[UI] Custom Drawer (Side Menu)- (SwiftUI 2.0 - iOS 14 이상)

Drawer (Side Menu)를 커스텀하게 작성하기 위해서는 기본적으로 아래와 같이 작성해서 기본 구조를 잡습니다. struct DrawserWithTabView: View { @State private var showDrawer: Bool = false var body: some View { HStack(spacing: 0) { Drawer(showDrawer: $showDrawer) TabView { Text("Home") } .frame(width: UIScreen.main.bounds.width) } .frame(width: UIScreen.main.bounds.width) .offset(x: 125) } } struct Drawer: View { @Binding var showDrawer: ..

Dev-iOS/UI 2023.07.21

[UI] Drag & Drop - (SwiftUI 2.0 - iOS 14 이상)

SwiftUI에서는 .onDrag와 .onDrop을 사용하여 뷰에 Drag & Drop 기능을 추가할 수 있습니다. SwiftUI에서는 Drag & Drop을 구현하려면 .onDrag / .onDrop Modifier와 DropDelegate가 필요합니다. 1. 필수 항목 1.) .onDrag Modifier .onDrag 는 사용자가 뷰를 드래그할 때 발생하는 액션을 정의합니다. 이 Modifier는 드래그 액션이 시작되는 동안 실행되는 클로저를 파라미터로 받습니다. 이 클로저는 NSItemProvider를 반환해야 합니다. NSItemProvider에 대한 간단한 설명은 이곳에서 -> https://lafortune.tistory.com/17 NSItemProvider는 드래그하는 동안 전달되는 데이..

Dev-iOS/UI 2023.07.12

[UI] 상단 탭 화면 with Animation (SwiftUI 2.0 - iOS 14 이상)

아래 구현은 하단 화면을 스와이프하거나 커스텀 상단 탭 버튼을 클릭하여 탭 화면 이동한다. 1. 상탭 탭 화면 with Animation 1) 구현 UI 2) 구현 코드 // 메인 View struct TabView_SwipeGesture: View { @State private var selectedTab = 0 private let tabs = [TabData(id: 0, name: "아침"), TabData(id: 1, name: "점심"), TabData(id: 2, name: "저녁")] var body: some View { VStack { HStack(spacing: 0) { ForEach(tabs, id: \.id) { tab in TabBarItem(selectedTab: $selecte..

Dev-iOS/UI 2023.07.11