在可访问性模式下消除 NavigationLink 按钮形状

Eliminate NavigationLink button shape in accessibility mode

我有一个小的 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()})
        }
    }
}

运行起来是这样的(红色圈出多余的矩形):

有什么方法可以在“按钮形状”启用时消除或隐藏这个白色小矩形吗?

刚刚自己找到了解决方案,不确定这是否是最佳做法。无论如何,我会分享它,以防有人遇到类似问题。
只需将 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()})
        }
    }
}    

下一步试试(没测试只是想法)

.background(
   NavigationLink(destination: Text("SecondView"), isActive: $activeSecondView) 
       {EmptyView()}.opacity(0)          // << this !!
)