当前位置: 首页 > 面试题库 >

无法激活锚点约束

曾绯辞
2023-03-14
问题内容

所以,我正在尝试以编程方式创建一个SceneView

class ViewController: UIViewController, ARSCNViewDelegate {
    var sceneView: ARSCNView = ARSCNView()
    let configuration = ARWorldTrackingConfiguration()

    override func viewDidLoad() {
        super.viewDidLoad()

        self.sceneView.debugOptions = [ARSCNDebugOptions.showFeaturePoints, ARSCNDebugOptions.showWorldOrigin]
        self.configuration.planeDetection = .horizontal
        self.sceneView.session.run(configuration)
        self.sceneView.delegate = self
        self.sceneView.autoenablesDefaultLighting = true

        //add autolayout contstraints
        self.sceneView.translatesAutoresizingMaskIntoConstraints = false
        self.sceneView.topAnchor.constraint(equalTo: self.view.topAnchor).isActive = true
        self.sceneView.leftAnchor.constraint(equalTo: self.view.leftAnchor).isActive = true
        self.sceneView.rightAnchor.constraint(equalTo: self.view.rightAnchor).isActive = true
        self.sceneView.bottomAnchor.constraint(equalTo: self.view.bottomAnchor).isActive = true

    }

    func renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor) {
        guard anchor is ARPlaneAnchor else {return}
    }
}

但我收到此错误消息:

由于未捕获的异常“
NSGenericException”而终止应用程序,原因:“无法激活具有锚点的约束,并且它们没有共同的祖先。约束或其锚点是否引用了不同视图层次结构中的项目?那是非法的。

这是部分发生的\\add autolayout contstraints。如何为该元素添加约束?


问题答案:

dan是正确的,您需要先添加sceneView为子视图,然后才能锚定它。尝试这样的事情:

view.addSubview(sceneView)
sceneView.anchor(top: self.view.topAnchor, left: self.view.leftAnchor, bottom: self.view.bottomAnchor, right: self.view.rightAnchor, paddingTop: 0, paddingLeft: 0, paddingBottom: 0, paddingRight: 0, width: 0, height: 0)


 类似资料:
  • 问题内容: 因此,我不断在多个服务器上收到此烦人的错误(它是一个警告,因此我将忽略它,但我需要该功能) 警告:curl_setopt()[function.curl- setopt]:启用safe_mode或在第56行的/home/xxx/public_html/xxx.php中设置了open_basedir时,无法激活CURLOPT_FOLLOWLOCATION 我将如何通过SSH解决此问题?

  • 我在Tomcat服务器中使用CXF公开了一个Web服务。我想在JMX中公开一些性能信息,比如由ResponseTimeFeature提出的那些信息。 我的cxf-beans.xml文件如下: 这与CXF JMX页面中的解释非常相似。 问题是,当我在[默认地址(service: jmx: rmi:///jndi/rmi://localhost:9913/jmxrmi)]使用j控制台连接时,我看不到任

  • 问题内容: 我在项目周围创建了一个virtualenv,但是当我尝试激活它时却无法。它可能只是语法或文件夹位置,但是我现在很困惑。 您可以在下面看到,我创建了virtualenv并将其称为venv。一切看起来不错,然后我尝试通过运行来激活它 我在想它可能只与我的系统路径有关,但不确定将其指向什么(我确实知道如何编辑路径)。我在python 7 / Windows操作系统上,虚拟环境2.2.x 问题

  • 不熟悉在虚拟环境中运行Python,会弄乱Django,无法激活虚拟环境。 在过去的4个小时里,试图在本地终端/VS代码上激活虚拟环境(venv),但运气不佳。 避免了“sudo pip install virtualenv”,因为我试图避免以root用户身份安装和使用不同的目录路径等。 使用缓存的virtualenv-20.0.31-py2.py3-none-any.whl(4.9 MB)收集v

  • 我收到一个错误。当我在谷歌上搜索时,我得到了一些结果,但它们都是针对Android编程的。我使用Windows,Java1.8和Selenium自动测试。 错误 我的原始代码(我没有写,但正在调试,并已工作): 我得到的错误是“没有这样的窗口”。所以我想我可能需要等到窗口数量稳定下来,所以我在点击后和执行windows操作之前添加了以下内容: 正是在这一点上,它进行切换,我得到了 正如我之前提到的

  • 多亏了来自NickFroty的youtube教程,我能够在php中创建一个合适的注册系统,我已经能够将他的代码从mysql转换为mysqli,并且能够在用户注册后通过电子邮件发送激活链接。 下面的代码将在数据库中插入注册详细信息,并在用户注册后将消息和激活链接发送到用户的电子邮件。 但是我现在有个问题。如果我点击链接,它会将用户导航到页面。 我的问题是:在用户点击激活链接后,它如何激活用户的帐户?