在iOS 18,当@environment(.dismiss)详细使用时 print(“详细信息”)语句被触发两次。
相同的代码在iOS 17和更早之前正常工作,其中打印 声明仅是预期的一次。
,但是,当我从详细信息中删除@environment(.dismiss)时 代码按照iOS 18中的意图工作,打印语句为 仅触发一次,并且没有导航行为的重复。internative方法。 我还使用.JARVITATION DESTATINATION测试(for :)处理导航:
var body: some View {
NavigationStack {
List {
NavigationLink("Mint", value: Color.mint)
NavigationLink("Pink", value: Color.pink)
NavigationLink("Teal", value: Color.teal)
}
.navigationDestination(for: Color.self) { color in
DetailView()
}
.navigationTitle("Colors")
}
}
}
我期望打印(详细信息浏览)语句一次 导航到详细信息,导航仅发生一次 没有重复。 @environment(.dismiss)的存在应该 不会导致导航被多次触发。 问题:
这是iOS 18和Swiftui导航的已知问题吗? 具体而言,是否存在一种新行为,与 @environment(.dismiss)?
body
print
body