Isso está no Xcode 16.2 com o SDK do iOS 18, com destino de compilação iOS 17.
Tenho um código muito simples:
List {
HStack {
TextField("Some field", text: .constant("Hello"))
Text("km")
}
Text("Hello")
}
Quando eu executo, o separador entre as 2 linhas da lista desaparece abaixo da TextField
parte:
No entanto, quando removo a Text("km")
linha, tudo funciona como esperado:
List {
HStack {
TextField("Some field", text: .constant("Hello"))
}
Text("Hello")
}
Não tenho ideia do que está acontecendo aqui. Alguma sugestão?
O posicionamento padrão do separador do SwiftUI depende das informações de layout dos filhos diretos da Lista. Quando você tem apenas visualizações HStack, o sistema de layout pode não ter informações suficientes para determinar com segurança onde desenhar o separador, especialmente se o conteúdo HStack não abranger totalmente a largura da linha da lista.
você pode obter o mesmo comportamento usando este código
O SwiftUI tenta alinhar automaticamente os elementos em uma linha com o separador, mas nem sempre consegue.
Você pode especificar manualmente exatamente com qual elemento deseja que o separador se alinhe usando o
alignmentGuide
modificador desta forma: