我使用以下代码片段(在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)