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.

Slide Over en iPadOS 15 rompe NavigationLink (SwiftUI)

Estoy teniendo problemas al usar NavigationView y NavigationLinks en iPadOS 15. Actualmente ejecutando la versión beta de desarrollo de iPadOS 15.3 (19D5026g), pero he tenido este problema desde el lanzamiento de la versión 15.1. Cuando uso mi aplicación como de costumbre, no hay ningún problema. Pero cuando convierto la aplicación en un Slide Over, el detalle funciona, pero cuando hago clic en “Atrás” y vuelvo a mostrar el detalle, no puedo hacer clic en el NavLink (no muestra el detalle). Cuando vuelvo a poner la aplicación en pantalla completa, todo está prácticamente bien. ¿Alguien ha notado algo así?

Edit: Acabo de descubrir que Split Screen hace exactamente lo mismo.

Aquí está mi código:

//ContentView:
struct ContentView: View {
var body: some View {
NavigationView {
SideBar()
.navigationBarTitle(“SideBar”)
.toolbar {
ToolbarItemGroup(placement: .navigationBarTrailing) {}
//Botón que abre opciones
}
DetailView()
.navigationBarTitle(“Detail”, displayMode: .large)
}
}
}

//SideBar:
struct SideBar: View {
var body: some View {
VStack{
Spacer()
VStack {
NavigationLink(destination: DetailView()) {
Text(“DetailView”)
.font(.headline)
}
NavigationLink(destination: OtherDetailView()) {
Text(“Other Detail View”)
.font(.headline)
}
}
Spacer()
}
}
}

//DetailView y OtherDetailView:
struct DetailView: View {
var body: some View {
VStack {
Spacer()
Text(“¡Hola mundo!”)
Spacer()
}
.navigationBarTitle(“Detail”)
}
}

¡Gracias por tu ayuda!

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como experto en IT especializado en SwiftUI, SwiftUI NavigationLink, SwiftUI NavigationView, iPadOS y iPadOS 15, recomiendo verificar si tienes la implementación correcta del código para manejar las transiciones de visualización de pop y dismiss. También podría estar relacionado con la nueva función de multitarea en iPadOS 15.

    Aquí tienes algunas posibles soluciones que puedes probar:

    • Asegúrate de que cada vista de detalle tenga su propio NavigationLink y no lo comparta con otras vistas.
    • Verifica si estás utilizando las opciones apropiadas de transición y animación al navegar hacia adelante y hacia atrás entre vistas. Puedes usar .navigationViewStyle(StackNavigationViewStyle()) para asegurar una experiencia de navegación consistente.
    • También puedes intentar configurar tu NavigationLink en tu DetailView como isActive en lugar de usar NavigationLink(destination: DetailView()) para mejorar los comportamientos de navegación.
    • Prueba tu código en un dispositivo iPadOS 14 para verificar si el problema solo ocurre en iPadOS 15.
    • Envía un informe de retroalimentación a Apple para que puedan investigar y proporcionar una solución si hay algún problema subyacente en la plataforma.

    Espero que esto te ayude a resolver tu problema. Avísame si tienes alguna pregunta adicional.

Comments are closed.