iOS 16 NavigationStack跳转后自动返回根视图问题求助
跳转至包含多个动态列表的目标视图后,界面会自动返回根视图。
推测该问题与目标视图的动态列表更新有关——移除目标视图中的NavigationStack后,问题完全消失。
已查找过同类问题,但未得到有效解答。
问题演示
相关代码
主视图代码
struct MainView: View { var body: some View { NavigationStack { List { NavigationLink("进入目标视图") { TargetView() } } .navigationTitle("主视图") } } }
目标视图代码
struct TargetView: View { @State private var listData1 = [String]() @State private var listData2 = [String]() var body: some View { NavigationStack { // 移除此处的NavigationStack后问题不再出现 List { Section("第一组数据") { ForEach(listData1, id: \.self) { item in Text(item) } } Section("第二组数据") { ForEach(listData2, id: \.self) { item in Text(item) } } } .navigationTitle("目标视图") .onAppear { // 模拟动态加载数据更新列表 DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { listData1 = ["项目1", "项目2", "项目3"] listData2 = ["条目A", "条目B", "条目C"] } } } } }
内容的提问来源于stack exchange,提问作者srome11
相关产品推荐
相关产品推荐

