约束问题

Constraints issue

我的约束有问题。任何想法将不胜感激!!

我试过使用调试器在 UIViewAlertForUnsatisfiableConstraints 处创建一个符号断点来捕获它,但我不知道如何解决这个问题。

代码如下:

func makeFullScreen(){
        sceneView.translatesAutoresizingMaskIntoConstraints = false
        NSLayoutConstraint.activate([
            sceneView.topAnchor.constraint(equalTo: self.view.topAnchor, constant: 0),
            sceneView.rightAnchor.constraint(equalTo: self.view.rightAnchor, constant: 0),
            sceneView.leftAnchor.constraint(equalTo: self.view.leftAnchor, constant: 0),
            sceneView.bottomAnchor.constraint(equalTo: self.view.bottomAnchor, constant: 0),
        ])
    }

这里是错误:

Unable to simultaneously satisfy constraints.
    Probably at least one of the constraints in the following list is one you don't want. 
    Try this: 
        (1) look at each constraint and try to figure out which you don't expect; 
        (2) find the code that added the unwanted constraint or constraints and fix it. 
(
    "<NSLayoutConstraint:0x28234ff70 ARSCNView:0x11a450d60.bottom == UILayoutGuide:0x283932f40'UIViewSafeAreaLayoutGuide'.bottom   (active)>",
    "<NSLayoutConstraint:0x28234fd90 ARSCNView:0x11a450d60.top == UILayoutGuide:0x283932f40'UIViewSafeAreaLayoutGuide'.top   (active)>",
    "<NSLayoutConstraint:0x28234f7f0 ARSCNView:0x11a450d60.centerY == UIView:0x117daeeb0.centerY   (active)>",
    "<NSLayoutConstraint:0x28234fe80 'UIViewSafeAreaLayoutGuide-bottom' V:[UILayoutGuide:0x283932f40'UIViewSafeAreaLayoutGuide']-(34)-|   (active, names: '|':UIView:0x117daeeb0 )>",
    "<NSLayoutConstraint:0x28234fe30 'UIViewSafeAreaLayoutGuide-top' V:|-(44)-[UILayoutGuide:0x283932f40'UIViewSafeAreaLayoutGuide']   (active, names: '|':UIView:0x117daeeb0 )>"
)

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x28234f7f0 ARSCNView:0x11a450d60.centerY == UIView:0x117daeeb0.centerY   (active)>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
2020-06-23 20:15:25.809104+0100 App[3611:633364] [LayoutConstraints] Unable to simultaneously satisfy constraints.
    Probably at least one of the constraints in the following list is one you don't want. 
    Try this: 
        (1) look at each constraint and try to figure out which you don't expect; 
        (2) find the code that added the unwanted constraint or constraints and fix it. 
(
    "<NSLayoutConstraint:0x28234ff70 ARSCNView:0x11a450d60.bottom == UILayoutGuide:0x283932f40'UIViewSafeAreaLayoutGuide'.bottom   (active)>",
    "<NSLayoutConstraint:0x28234fd90 ARSCNView:0x11a450d60.top == UILayoutGuide:0x283932f40'UIViewSafeAreaLayoutGuide'.top   (active)>",
    "<NSLayoutConstraint:0x28234f610 ARSCNView:0x11a450d60.height == UIView:0x117daeeb0.height   (active)>",
    "<NSLayoutConstraint:0x28234fe80 'UIViewSafeAreaLayoutGuide-bottom' V:[UILayoutGuide:0x283932f40'UIViewSafeAreaLayoutGuide']-(34)-|   (active, names: '|':UIView:0x117daeeb0 )>",
    "<NSLayoutConstraint:0x28234fe30 'UIViewSafeAreaLayoutGuide-top' V:|-(44)-[UILayoutGuide:0x283932f40'UIViewSafeAreaLayoutGuide']   (active, names: '|':UIView:0x117daeeb0 )>"
)

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x28234ff70 ARSCNView:0x11a450d60.bottom == UILayoutGuide:0x283932f40'UIViewSafeAreaLayoutGuide'.bottom   (active)>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.

错误信息很清楚。您不能设置 top-and-bottom and centerY-and-height。那是一种过度决定。选择顶部和底部 否则 中心 Y 和高度。

自问 centerY/height 约束来自何处很有趣,因为它们不在您显示的代码中,所以我不知道该问题的答案。其他地方必须有更多代码。也许这些是您之前设置的限制条件?如果是这样,您必须立即开始删除它们。