[英]SwiftUI - NavigationLink inside of NavigationLink Bug
[英]SwiftUI: NavigationLink unintentionally tappable and activated inside Form
我似乎在將NavigationLink
重新格式化為Form
時遇到問題。 我的NavigationLink
是通過isActive
在按下切換showNext
的按鈕時激活的。
問題是NavigationLink
似乎是自行激活的,即使按鈕不存在,通過點擊Form
似乎為NavigationLink
創建的空行(應該只是EmptyView
。 似乎Form
甚至為EmptyViews
創建了行。
所以我在想可能有一些可能的解決方案,但我不確定這些是否可能:
(1) 在不禁用導航行為的情況下,以某種方式完全隱藏為NavigationLink
/ EmptyView
創建的行。
(2) 覆蓋NavigationLink
的Form
格式,使其在點擊時不會被激活。
編輯:似乎選項 2 可以使用.disabled(true)
但空白部分仍然可見,這在這似乎有點不合時宜。
struct FormView : View {
@State var showNext: Bool = false
var body: some View {
NavigationView {
Form {
Section {
VStack {
Text("Hello")
NavigationLink(destination: Text("Detail View"), isActive: $showNext)
{ EmptyView() }
}
}
}
}
}
}
解決方案是將鏈接隱藏到某些視圖的背景中,如下所示
Form {
Section {
VStack {
Text("Hello")
.background(
NavigationLink(destination: Text("Detail View"), isActive: $showNext)
{ EmptyView() }.disabled(!showNext)
)
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.