Swift/SwiftUI
-
[SwiftUI] 화면에 구멍 뚫기 - .mask (iOS 15 부터)Swift/SwiftUI 2023. 5. 2. 23:13
struct ContentView: View { let colors: [Color] = [.red, .blue] var body: some View { LinearGradient(colors: colors, startPoint: .leading, endPoint: .trailing) .mask { Image(systemName: "flag.checkered") .font(.system(size: 128)) } .background(Color.blue.opacity(0.2)) .ignoresSafeArea() } }
-
[SwiftUI] Preview 에서 Transition Animation 보기Swift/SwiftUI 2023. 4. 30. 00:24
struct ContentView_Previews: PreviewProvider { static var previews: some View { VStack { ContentView() } } } Previewing SwiftUI Transition Animations Being able to preview your transition animations right in Xcode will allow you to quickly make changes to get the perfect effect you're looking for. While updating SwiftUI Animations Mastery for iOS 15, I decided to take a deeper look into previewi..
-
[SwiftUI] onChange 는 같은 값이 재할당되어도 호출될까?Swift/SwiftUI 2023. 4. 29. 10:14
struct ContentView: View { @State var num = 0 var body: some View { VStack { Text("Tap me") .onTapGesture { didTapButton() } .onChange(of: num) { newValue in print(newValue) } } .padding() } func didTapButton() { num = 0 } } 안됨
-
[SwiftUI] ViewModel 에 Command Pattern 사용해보기Swift/SwiftUI 2023. 4. 25. 22:29
struct ContentView: View { @StateObject var viewModel = ContentViewModel() var body: some View { NavigationView { ScrollView { LazyVStack { ForEach(Array(viewModel.items.enumerated()), id: \.offset) { offset, item in // MARK: - Cell NavigationLink { DetailItemView(item: item, offset: offset, delegate: viewModel) } label: { Cell(item: item, offset: 0) } } } } } } @ViewBuilder func Cell(item: Item..
-
[SwiftUI] 문득 EnvironmentObject 가 궁금해졌다Swift/SwiftUI 2023. 3. 3. 00:00
.environmentObject 를 통해 하위뷰에서 상위뷰의 StateObject 에 접근이 가능하다 그러면 이럴때 같은 타입의 StateObject 가 여러개라면 어떨까? 그래서 테스트를 해보았다. 변수명만 다르면 상관없지 않을까? 결과는 그렇지 않았다 하나의 Type 만 읽을수 있었다. 만약 같은 타입의 StateObject 가 두개가 주어졌을때는 먼저 들어간 EnvironmentObject 를 따랐다