[iOS] NavigationLink issue

SC Tuan
Dec 14, 2023

我在 SwiftUI 裡面有一行長這樣

NavigationLink(destination: HomeView(), isActive: $isLoggedIn) {
EmptyView()
}

就是登入成功後,進入 HomeView

結果得到一個警告:

'init(destination:isActive:label:)' was deprecated in iOS 16.0: 
use NavigationLink(value:label:) inside a NavigationStack or
NavigationSplitView

要改成在 NavigationView 的區塊後面接上 (接在按鈕後面也可以,足以清楚表示是這個按鈕觸發的):

.navigationDestination(isPresented: $isLoggedIn) {
HomeView()
}

NavigationView Deprecated

查詢的過程發現 NavigationView 已經註記 deprecated 了。要使用 NavigationStack 或是 NavigationSplitView

--

--

SC Tuan

iOS developer(Obj-C & Swift) / Web developer (Java, Javascript, CSS,HTML)