1. 简介
SwiftUI 以 onAppear()
和 onDisappear()
的形式为我们提供了 UIKit 的viewDidAppear()
和 viewDidDisappear()
的等效项。 我们可以将任何代码附加到所需的这两个事件,SwiftUI 将在它们发生时执行它们。
2. 示例
例如: 我们创建两个视图,使用 onAppear()
和 onDisappear()
来打印消息,并带有一个导航连接在两个视图之间移动:
struct ContentView: View {
var body: some View {
NavigationView {
VStack {
NavigationLink(destination: DetailView()) {
Text("Hello world")
}
}
}.onAppear {
print("ContentView appeared!")
}.onDisappear {
print("ContentView disappeared!")
}
}
}
struct DetailView: View {
var body: some View {
VStack {
Text("Second View")
}.onAppear {
print("DetailView appeared!")
}.onDisappear {
print("DetailView disappeared!")
}
}
}
效果预览: 当代码运行时,我们应该能够在两个视图之间移动,并看到 Xcode 调试控制台中打印的消息。