SwiftUI导航至子视图后状态改变导致导航栈提前弹出的原因及解决
Posted 大熊猫侯佩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SwiftUI导航至子视图后状态改变导致导航栈提前弹出的原因及解决相关的知识,希望对你有一定的参考价值。
问题现象
为了完成一个富于表现力的App,我们经常要在SwiftUI的众多视图中恣意穿梭导航。
不过有时我们会遇到一些奇怪的导航行为:
如上图所示,我们在根视图中导航进入了 Apple 项目对应的详情子视图,随后我们在子视图中将Apple项目所处的分类修改为 Default ,此时原来显示的详情子视图被提前退出了,我们竟然直接返回到了根视图。
要说明的是,该问题只在最新的ios 15 中出现,而在iOS 14中一切正常。
为什么iOS 15中导航栈会提前退出呢?
在本篇博文中,我们将披露NavigationLink的一个隐藏陷阱。
Let’s find out!!!
以上是关于SwiftUI导航至子视图后状态改变导致导航栈提前弹出的原因及解决的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI:Slider 在导航栏项目的前导/尾随时的奇怪行为
swiftUI:登录完成后导航到主屏幕。通过按钮单击导航视图
SwiftUI 如何快速识别视图(View)界面的刷新是由哪个状态的改变导致的?