我正在嘗試使我的 iPhone 應用程式(針對 iOS 15 及更高版本)與 iOS 16 完全兼容,但沒有成功!
我不知道如何在同一段代碼中NavigationView
使用 iOS 15 和NavigationStack
iOS 16。
Xcode 不接受上面的代碼:
if #available(iOS 16, *) {
NavigationStack {
} else {
NavigationView {
}
來自:SwiftUI NavigationView/Stack(如果可用) iOS 15/16
我想按照@timmy 的建議創建一個自定義容器將是唯一的解決方案。但我不知道如何進行。
那有什么解決辦法呢?
uj5u.com熱心網友回復:
就我個人而言,除非我以 iOS 16 為目標,否則我不會使用NavigationStack
,但如果你想這樣做,你可以制作自己的 Navigation Wrapper
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)
}
}
}
然后像你一樣NavigationStack
使用它NavigationView
NavigationView
NavigationStack
Xcode 不接受您的代碼,因為它無效。在同一個塊中,你不能沒有{
a 。}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/506886.html
下一篇:將Xcode更新到版本14后,錯誤:'Table'isambiguousfortypelookupinthiscontext