3.14_如何响应视图生命周期事件_appear_and_disappear

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!")
        }
    }
}

效果预览: 3_14_lifecycle_event_appear_disappear 当代码运行时,我们应该能够在两个视图之间移动,并看到 Xcode 调试控制台中打印的消息。

Avatar
M X
Mobile, Front-End Developer

My research interests include swift developing, python developing and go developing.

Related

Next
Previous
comments powered by Disqus