ios - 如何检查屏幕上是否显示 View ? (Swift 5 和 SwiftUI)

标签 ios swift xcode swiftui swift5

我有一个像下面这样的 View 。我想知道它是否是屏幕上显示的 View 。有没有实现这一点的功能?

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

最佳答案

您可以在任何符合 View 协议(protocol)的 View 上使用 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.")
        }
    }
}

关于ios - 如何检查屏幕上是否显示 View ? (Swift 5 和 SwiftUI),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60595900/

相关文章:

ios - 使用rangeOfString和textfield shouldChangeCharactersInRange-删除字符?

ios - didMoveToWindow : How will this method be called?

ios - Objective C View Controller 属性未保存

objective-c - iOS:弹出 View Controller 时更改界面方向

iphone - Ipad/iphone..操作表

ios - Swift 将数据从 subview 发送到父 View Controller

ios - viewDidAppear 延迟 0.5 秒

ios - 在多个 TextField 中填充数据(数字)之前,如何禁用 UIButton?

swift - 如何在不使用 UITextField 的情况下将 UIToolbar 添加到 UIPickerView?

objective-c - Log4xx 作为 Cocoa 框架?