Joh*_*Doe 4 swift arkit realitykit
我正在添加一个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
Run Code Online (Sandbox Code Playgroud)
以后,如果我这样做
coachingOverlay.activatesAutomatically = false
Run Code Online (Sandbox Code Playgroud)
没有影响。coachingOverlay继续正常工作。
如何在需要时立即禁用它?
实例方法setActive(_:animated:)控制辅导是否正在进行。
open func setActive(_ active: Bool, animated: Bool)
Run Code Online (Sandbox Code Playgroud)
苹果文档是这样说的:
如果 的动画属性
setActive(_:animated:)为 true,isActive则isHidden当指导叠加层淡出时, 和 为 false。当辅导覆盖层在没有动画的情况下停用时,或者当动画完成时,ARKit 会通过调用 来通知您coachingOverlayViewDidDeactivate(_:)。
// SMOOTHLY
ARCoachingOverlayView().setActive(false, animated: false)
Run Code Online (Sandbox Code Playgroud)
或者作为替代,您可以使用isHidden属性:
// ABRUPTLY
ARCoachingOverlayView().isHidden = true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
991 次 |
| 最近记录: |