我已经阅读了有关该问题的现有线程,并且评论表明这是一个错误并已在 11.7 上修复,但我仍在该版本上遇到它。
总之:
当应用程序启动时,您的视图View 1会触发 onAppear。
当我使用 Navigation Controller导航到子视图(View 2)时,没有为View 1触发 onDisappear ,但为View 2触发了 onAppear 。
当您导航回View 1 时,您不会获得View 1的 onAppear 或(view 2)的 onDisappear。
当视图出现/消失时,是否有一种可靠的方法来触发事件?或者我应该尝试跳到 Xcode 测试版?
示例代码:
import SwiftUI
struct DetailView: View {
var body: some View {
Text("Detail view")
.onAppear(){
print("DetailView onAppear fired")
}
.onDisappear(){
print("DetailView onDisappear fired")
}
}
}
struct ContentView: View {
var body: some View {
NavigationView {
NavigationLink(destination: …Run Code Online (Sandbox Code Playgroud) swiftui ×1