При переходе к новому представлению с формой или списком (сгруппированным) содержимое отображается примерно на четверть пути вниз от нижней части заголовка представления навигации, а затем «всплывает» в правильном месте примерно на половину. второй позже. Очень некрасиво. Не уверен, что это ошибка SwiftUI или я что-то неправильно структурирую?
Я проверил это на симуляторе и устройстве с одинаковыми результатами.
Я думаю, это как-то связано с обработкой навигационных ссылок? Каждая навигационная ссылка вызывает init () в своем представлении назначения, когда появляется ContentView. Для меня это не имеет смысла, разве не нужно вызывать init () назначения только в тот момент, когда пользователь фактически щелкает навигационную ссылку?
Я пробовал это также с листом, и проблема не существует с листами,только при использовании навигационных ссылок с формами или списками, стилизованными как сгруппированные.
Код из нового приложения для одного представления:
struct ContentView: View {
var body: some View {
NavigationView {
NavigationLink(destination: TestView() {
Text("Test Link")
}
.navigationBarTitle("Content View")
}
}
}
struct TestView: View {
var body: some View {
Form {
Text("Test View")
}
.navigationBarTitle("Test View")
}
}