Depois de clicar no seletor, ele navega para a visualização selecionada. A lista de itens é renderizada muito longe do topo, mas se fecha depois que a animação é concluída. Por que isso está acontecendo?
Demonstração: https://gfycat.com/idioticdizzyazurevase
Eu já criei um exemplo mínimo para descartar títulos e botões da barra de navegação, seções de formulário e outros detalhes:
import SwiftUI
struct NewProjectView: View {
@State var name = ""
var body: some View {
NavigationView {
Form {
Picker("Client", selection: $name) {
Text("Client 1")
Text("Client 2")
}
}
}
}
}
struct NewProjectView_Previews: PreviewProvider {
static var previews: some View {
NewProjectView()
}
}
Isso acontece no modo de visualização, simulador e no dispositivo (Xcode 11.2, iOS 13.2 no simulador, 13.3 beta 1 no dispositivo).
.listRowInsets()
.Respostas:
O comportamento obviamente com erros pode ser contornado ao forçar o estilo de exibição de navegação para empilhar:
Esta é uma solução para o meu problema, mas não vou marcar isso como resposta aceita (ainda).
fonte
Na minha opinião, tem algo a ver com a barra de navegação. Por padrão (sem menção de
.navigationBarTitle
extensão), o modo de exibição de navegação está definido como.automatic
, deve ser alterado para.inline
. Me deparei com outro post semelhante a este e use sua solução para combinar com a sua, usando.navigationBarTitle("", displayMode: .inline)
deve ajudar.fonte
Até que esse bug seja resolvido, outra maneira de solucionar esse problema, mantendo o DoubleColumnNavigationViewStyle para iPads, seria definir condicionalmente esse estilo:
fonte
Obrigado por esta discussão todos! Realmente me ajudou a entender as coisas mais e a se apossar de um dos meus problemas. Para compartilhar com outras pessoas, eu estava tendo esse problema, mas também estava com esse problema quando defini uma seção para aparecer em uma instrução if / else definida em uma seção com uma alternância. Quando a alternância era ativada, o cabeçalho da seção mudava horizontalmente alguns pixels.
A seguir, é como eu o consertei
Ainda estou tendo o deslocamento horizontal na visualização da seleção do selecionador e não sei como consertar. Eu criei outro thread para a entrada recebida. Obrigado novamente! Texto do SwiftUI Shift Picker Horizontal
fonte