Как проверить, отображается ли вид на экране? (Swift 5 и SwiftUI) - PullRequest
0 голосов
/ 09 марта 2020

У меня есть вид, как показано ниже. Я хочу выяснить, является ли это вид, который отображается на экране. Есть ли функция для этого?

struct TestView: View {
    var body: some View {
        Text("Test View")
    }
}

1 Ответ

0 голосов
/ 09 марта 2020

Вы можете использовать onAppear для любого вида представления, соответствующего протоколу просмотра.

struct TestView: View {
    @State var isViewDisplayed = false
    var body: some View {
        Text("Test View")
            .onAppear {
                self.isViewDisplayed = true
        }
        .onDisappear {
            self.isViewDisplayed = false
        }
    }

    func someFunction() {
        if isViewDisplayed {
            print("View is displayed.")
        } else {
            print("View is not displayed.")
        }
    }
}
...