Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

150
Views
¿Cómo activar un enlace de navegación en una lista cuando la fila aún no está visible?

Considere el siguiente código de vista:

 struct ContentView: View { @State var activeLink: Int? = 45 var body: some View { NavigationView { VStack { Text("Hello, world!") .padding() List(0..<100, id: \.self) { i in NavigationLink( tag: i, selection: $activeLink, destination: { MyNextView() } ) { Text("Row nr \(i)") } } } } } }

Si el valor de activeLink es el mismo que la etiqueta de un NavigationLink que está actualmente visible en la interfaz de usuario, el NavigationLink se activará y MyNextView se presentará como se esperaba. Sin embargo, si activeLink tiene un valor igual a una etiqueta de NavigationLink fuera de la interfaz de usuario visible, no sucede nada. Esto se convirtió en un problema en mi proyecto ya que tengo un ObservableObject que representa un modelo de "estado de enrutamiento" en mi aplicación que contiene el valor de cada NavigationLink activo en la jerarquía de vistas. La razón de esto es que quiero poder recrear una jerarquía de vista al inicio de la aplicación. Sin embargo, si mi estado de enrutamiento quiere activar un enlace de navegación fuera de la interfaz de usuario visible, como en el ejemplo anterior, no funciona.

He intentado desplazarme por la lista hasta el elemento NavigationLink que quiero activar para que aparezca, pero no he encontrado una forma sencilla de hacerlo. Intenté usar ScrollViewProxy.scrollTo(... en .onAppear(perform: ... de mi vista, pero no funciona sin DispatchQueue.main.asyncAfter(deadline: ... que parece muy poco confiable en mi opinión).

¿Alguien más se ha encontrado con este problema?

over 4 years ago · Santiago Trujillo
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!