我正在像这样在我的ARCoachingOverlayView
中添加一个ARView
let coachingOverlayTemp = ARCoachingOverlayView()
coachingOverlayTemp.delegate = self
coachingOverlayTemp.session = self.session
coachingOverlayTemp.goal = .horizontalPlane
coachingOverlayTemp.activatesAutomatically = true
coachingOverlayTemp.translatesAutoresizingMaskIntoConstraints = false
self.addSubview(coachingOverlayTemp)
coachingOverlay = coachingOverlayTemp // I store it to a variable on the class
以后,如果我愿意coachingOverlay.activatesAutomatically = false
没有效果。 coachingOverlay
继续正常工作。如何在需要时立即禁用它?
最佳答案
实例方法setActive(_:animated:)
控制辅导是否在进行中。
open func setActive(_ active: Bool, animated: Bool)
以下是Apple文档所说的内容:如果
setActive(_:animated:)
的动画属性为true,则当教练叠加层逐渐淡出时,isActive
和isHidden
为false。在没有动画的情况下停用教练覆盖图或动画结束时,ARKit会通过调用coachingOverlayViewDidDeactivate(_:)
通知您。// SMOOTHLY
ARCoachingOverlayView().setActive(false, animated: false)
或者,您也可以使用isHidden
属性:// ABRUPTLY
ARCoachingOverlayView().isHidden = true