es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Eliminar la forma del botón NavigationLink en el modo de accesibilidad.

Tengo un proyecto pequeño de SwiftUI que admite “Formas de botón” en el modo de accesibilidad. Pero encontré que cuando habilito este modo, hay un pequeño rectángulo blanco en el centro de la pantalla, que supongo que es el NavigationLink que puse para SecondView. Aquí está mi código:

struct FirstView: View {
    @State private var activeSecondView = false
    var body: some View {
        NavigationView {
            VStack {
                Text("FirstView")
                Button("Tap para mostrar la segunda vista") {
                    self.activeSecondView = true
                }
            }
            .overlay(NavigationLink(destination: Text("SecondView"), isActive: $activeSecondView) {EmptyView()})
        }
    }
}

Y se ejecuta así (el rectángulo redundante está circulado en rojo):

Imagen

¿Hay alguna forma de eliminar u ocultar este pequeño rectángulo blanco mientras se habilita “Formas de botón”?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para eliminar el rectángulo blanco en el centro de la pantalla mientras está habilitada la opción “Formas de botones” en el modo de accesibilidad, puede modificar el navigationLink en su código de la siguiente manera:

    .overlay(NavigationLink(destination: Text("SecondView"), isActive: $activeSecondView) {
                EmptyView()
                    .frame(width: 0, height: 0)
                    .disabled(true)
            })
    

    Aquí, estamos agregando frame(width: 0, height: 0) para que el NavigationLink sea invisible y disabled(true) para eliminar el área rectangular táctil. Con esta modificación, el rectángulo blanco no debería aparecer incluso con la opción “Formas de botones” habilitada.

Comments are closed.