gpt4 book ai didi

swift - 如何从 ARScene 线程访问 UITextView?

转载 作者:行者123 更新时间:2023-11-28 15:05:30 25 4
gpt4 key购买 nike

当在 ARScene 中检测到地板时,我试图隐藏一个 UITextView。代码如下:

class ViewController: UIViewController, ARSCNViewDelegate {

...

@IBOutlet var sceneView: ARSCNView!
@IBOutlet weak var myTextView: UITextView!

// runs on floor detection
func renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor) {

if anchor is ARPlaneAnchor {
myTextView.isHidden = true // Error from Main Thread Checker
}
}

...
}

但是,它不会隐藏 myTextView,但会产生一个错误,提示 UIView.hidden must be used from main thread only。我想知道正确的方法是什么。我是 Swift 的新手。

最佳答案

那是因为renderer在后台线程中运行。您需要在主线程中运行与 ui 相关的所有代码。

DispatchQueue.main.async {
myTextView.isHidden = true
}

关于swift - 如何从 ARScene 线程访问 UITextView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48534412/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com