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

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