相关疑难解决方法(0)

SwiftUI:在不同 iOS 版本之间使用视图修饰符,无需 #available

我使用以下代码片段(在Xcode 13 Beta 5部署目标设置为 14.0 中)根据 iOS 版本有条件地应用视图修饰符:

struct ContentView: View {
    var body: some View {
        Text("Hello, world!")
            .modifyFor(iOS14: {
                $0.onAppear {
                    //do some stuff
                }
            }, iOS15: {
                $0.task { //<---- Error: 'task(priority:_:)' is only available in iOS 15.0 or newer
                    //do some stuff
                }
            })
    }
}

struct CompatibleView<Input: View,
                      Output14: View,
                      Output15: View>: View {
    var content: Input
    var iOS14modifier: ((Input) -> Output14)?
    var iOS15modifier: ((Input) -> Output15)?
    
   @ViewBuilder var body: some View { …
Run Code Online (Sandbox Code Playgroud)

swift swift5 swiftui xcode13

18
推荐指数
3
解决办法
6389
查看次数

标签 统计

swift ×1

swift5 ×1

swiftui ×1

xcode13 ×1