Syb*_*Syn 21 ios swift swiftui
当导航到带有表单或列表(分组)的新视图时,内容出现在导航视图标题底部大约四分之一处,然后大约半秒后“弹出”到正确位置。十分难看。不确定这是 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")
}
}
Run Code Online (Sandbox Code Playgroud)
Syb*_*Syn 10
提供带有标题文本的部分可以解决该问题,即使文本为空白也是如此。虽然这会在导航标题和第一行之间留下间隙。
适用于分组样式的表单和列表。
struct TestView: View {
var body: some View {
Form {
Section(header: Text("")) {
Text("Test View")
}
}
.nvigationBarTitle("Test View")
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1260 次 |
| 最近记录: |