SwiftUI iOS 16 新的导航类型

弃用NavigationView

iOS 16, iPadOS 16, macOS 13 之后,Apple优化了导航行为,将NavigationView细分为 NavigationStack 和 NavigationSplitView。

如果是开发单列的页面(通常的iPhone App)则使用NavigationStack,其用法和NavigationView一样。
如果是开发有侧边栏的页面(通常的macos App)则使用NavigationSplitView。

替换为NavigationStack

弃用的写法

NavigationView { // This is deprecated.
    /* content */
}
.navigationViewStyle(.stack)

现在应该写为

NavigationStack {
    /* content */
}

替换为NavigationSplitView

弃用的写法

NavigationView { // This is deprecated.
    /* column 1 */
    /* column 2 */
}

现在应该写为

NavigationSplitView {
    /* column 1 */
} detail: {
    /* column 2 */
}

NavigationSplitView {
    /* column 1 */
} content: {
    /* column 2 */
} detail: {
    /* column 3 */
}

参考资料:https://developer.apple.com/documentation/swiftui/migrating-to-new-navigation-types#Overview

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章