onChange 식별자는 iOS 14에서 사용가능하다.
iOS13에서 onChange 를 사용하기 위해서는 아래 2가지 방법으로 사용할 수 있다.
- iOS 13에서 제공하는 onReceive 이용
-
더보기
import SwiftUI import Combine struct ContentView: View { @State var currentTab: Int var body: some View { ScrollView { } .onReceive(Just(currentTab), perform: { value in print(value) }) } }
-
- View 를 확장해서 이용
-
더보기
import SwiftUI import Combine extension View { @ViewBuilder func valueChanged<T: Equatable>(value: T, onChange: @escaping (T) -> Void) -> some View { if #available(iOS 14.0, *) { self.onChange(of: value, perform: onChange) } else { self.onReceive(Just(value)) { (value) in onChange(value) } } } }
-
'Dev > iOS' 카테고리의 다른 글
[SwiftUI/Combine ]SwiftUI Combine을 활용한 Network 매니저 클래스 활용 (0) | 2022.03.25 |
---|---|
[SwiftUI] iOS 13에서 ProgressView 사용하기 (0) | 2021.11.10 |
[SwiftUI] iOS 13에서 ScrollViewReader 사용하기 (0) | 2021.11.01 |
[SwiftUI] ScrollViewReader (0) | 2021.10.29 |
[SwiftUI] Casousel 구현 (1) | 2021.10.29 |
댓글