Eu tenho uma lista padrão apenas com um texto e no lado direito a seta para navegação. Mas, depois que a lista é carregada e exibida na Tela, a lista adota as células, acho que adicionam preenchimento à esquerda e à direita. Mas isso não parece bom, então parece que a lista está atrasada!
List {
ForEach(0..<book.chapters) { index in
NavigationLink(destination: ReadingView(book: self.book, chapter: index)){
Text("Kapitel \(index + 1)")
}
}
}
.navigationBarTitle(Text(book.long_name), displayMode: .inline)
Respostas:
Eu tenho o mesmo problema, mas apenas no simulador. Quando estou executando o aplicativo em qualquer telefone, não importa quantos anos, ele funciona perfeitamente como seria de esperar. Você deveria tentar isso.
Edit: ah agora eu vejo os dados móveis, você está no seu telefone. Nesse caso, você pode registrar um relatório de bug na Apple, aguardar e sempre usar o software mais recente.
fonte
Existe uma possível correção para isso, que produz outras complicações: Animações. Esse bug estranho é afetado por animações, então dê uma animação como
Tornará o bug pelo menos invisível, mas esteja avisado de que todas as subvisões herdarão essa animação; portanto, você precisará substituí-lo manualmente novamente por elas. Se você estiver escrevendo um aplicativo profissional, use a correção do TableView da resposta de Repose.
Estranho: descobrimos que isso acontece no iPhone XR e 11 (simulador e dispositivo real), mas não no iPhone 11 Pro, por isso pode ocorrer apenas em dispositivos LCD ???
Espero que isso ajude os futuros visitantes deste tópico que tropeçam nesse tópico, como eu fiz ao experimentar esse bug
fonte
Eu vim com uma solução alternativa para corrigir esse problema. Uma ressalva, enquanto corrige a mudança na tabela, introduz um atraso na animação do título da barra de navegação, para que você seja avisado.
Você pode usar o TableViewController do UIKit enquanto isso a Apple corrige o objeto List do SwiftUI.
Em resumo, você precisa criar um TableViewController e envolvê-lo em UIViewControllerRepresentable para injetá-lo na visualização SwiftUI. A melhor ação de navegação é feita pelo método delegado didSelectRowAt.
Atualização: parece que o problema foi resolvido no XCode 11.4 mais recente (no entanto, mais problemas estão presentes no ambiente do simulador agora)
Eu tenho um código completo aqui: https://gist.github.com/Rep0se/97d7a97cfd05f42aa597904e6a2cfd3d
fonte