Ale*_*nnd 6 xcode navigationview swiftui ios15 ios16
我正在尝试使我的 iPhone 应用程序(针对 iOS 15 及更高版本)与 iOS 16 完全兼容,但没有成功!
我不知道如何在同一段代码中同时支持NavigationViewiOS 15 和iOS 16。NavigationStack
Xcode 不接受上面的代码:
if #available(iOS 16, *) {
NavigationStack {
} else {
NavigationView {
}
Run Code Online (Sandbox Code Playgroud)
来自:SwiftUI NavigationView/Stack(如果可用)iOS 15/16
我想按照@timmy 的建议创建自定义容器将是唯一的解决方案。但我不知道如何继续。
那有什么办法解决呢?
hal*_*llo 14
就我个人而言,除非我以 iOS 16+ 为目标,否则我不会使用NavigationStack,但如果你想这样做,你可以制作自己的导航包装器
struct MyNavigation<Content>: View where Content: View {
@ViewBuilder var content: () -> Content
var body: some View {
if #available(iOS 16, *) {
NavigationStack(root: content)
} else {
NavigationView(content: content)
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后像你一样使用它,NavigationStack或者NavigationView在 iOS 15 或更早版本上它会使用NavigationView,在 iOS 16 或更高版本上它会使用NavigationStack
Xcode 不接受您的代码,因为它无效。在同一个块中不能有{没有 a 的情况。}
| 归档时间: |
|
| 查看次数: |
13873 次 |
| 最近记录: |