При переходе к новому представлению с формой или списком (сгруппированным) содержимое отображается примерно на четверть пути вниз от нижней части заголовка представления навигации, а затем «всплывает» в правильное место примерно через полсекунды. Очень страшный. Не уверен, что это ошибка 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")
}
}