约束锚在 Swift 4 中运行不佳

Dan*_*iel 1 constraints swift swift4

我似乎无法弄清楚为什么约束锚不起作用

inputsContainerView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
inputsContainerView.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
inputsContainerView.widthAnchor.constraint(equalTo: view.widthAnchor, constant: -24).isActive = true
inputsContainerView.heightAnchor.constraint(equalTo: view.heightAnchor, constant: 150).isActive = true
Run Code Online (Sandbox Code Playgroud)

我试过到处寻找,但似乎找不到问题所在。

我没有看到任何冲突的约束或警告,基本上我需要容器看起来像一个位于屏幕中心的白色矩形。

let inputsContainerView = UIView()
inputsContainerView.backgroundColor = UIColor.white
inputsContainerView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(inputsContainerView )
Run Code Online (Sandbox Code Playgroud)

这是它的样子:

这是它的样子

它应该是这样的:

这就是它的样子

vac*_*ama 5

您希望您inputsContainerView的高度为150. 现在您将它设置为等于view.height + 150.

您需要将您的heightAnchor等于设置为常量:

更改此约束:

inputsContainerView.heightAnchor.constraint(equalTo: view.heightAnchor, constant: 150).isActive = true
Run Code Online (Sandbox Code Playgroud)

对此:

inputsContainerView.heightAnchor.constraint(equalToConstant: 150).isActive = true
Run Code Online (Sandbox Code Playgroud)