我有一個小型 SwiftUI 專案,它在輔助功能模式下支持“按鈕形狀”。
但是我發現當我啟用這個模式時,螢屏中央有一個白色的小矩形,我猜是我給SecondView放置的NavigationLink。
這是我的代碼:

struct FirstView: View {
@State private var activeSecondView = false
var body: some View {
NavigationView {
VStack {
Text("FirstView")
Button("Tap to show second view") {
self.activeSecondView = true
}
}
.overlay(NavigationLink(destination: Text("SecondView"), isActive: $activeSecondView) {EmptyView()})
}
}
}
它是這樣運行的(多余的矩形用紅色圈起來):

在啟用“按鈕形狀”的情況下,有沒有辦法消除或隱藏這個白色的小矩形?
uj5u.com熱心網友回復:
嘗試下一個(未測驗只是想法)
.background(
NavigationLink(destination: Text("SecondView"), isActive: $activeSecondView)
{EmptyView()}.opacity(0) // << this !!
)
uj5u.com熱心網友回復:
剛剛自己找到了一個解決方案,不確定這是否是最佳實踐。無論如何,如果有人遇到類似的問題,我會分享它。
只需將 NavigationLink 隱藏在主要內容后面,它就會變得不可見:
struct FirstView: View {
@State private var activeSecondView = false
var body: some View {
NavigationView {
ZStack {
NavigationLink(destination: Text("SecondView"), isActive: $activeSecondView) {EmptyView()}
Color.white
VStack {
Text("FirstView")
Button("Tap to show second view") {
self.activeSecondView = true
}
}
}
//.background(NavigationLink(destination: Text("SecondView"), isActive: $activeSecondView) {EmptyView()})
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/373025.html
