当导航到具有表单或列表(分组)的新视图时,内容显示在导航视图标题底部的大约四分之一处,然后“弹出”到正确的位置(大约一半)第二秒之后。十分难看。不确定这是SwiftUI错误还是结构错误?
我已经在模拟器和设备上对此进行了测试,结果相同。
我认为这与导航链接的处理方式有关吗?当ContentView出现时,每个导航链接都会在其目标视图上调用init()。对我而言,这没有任何意义,仅在用户实际单击导航链接时才调用目标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")
}
}