Ios UIImageView没有';t正确居中

Ios UIImageView没有';t正确居中,ios,swift,Ios,Swift,我有这样设置的图像视图: let buttonImageView: UIImageView = { let iv = UIImageView() iv.backgroundColor = .red iv.translatesAutoresizingMaskIntoConstraints = false iv.frame.size = CGSize(width: CGFloat(375 * (11 / 59)), height: CGFloat(375 * (11

我有这样设置的图像视图:

let buttonImageView: UIImageView = {
    let iv = UIImageView()
    iv.backgroundColor = .red
    iv.translatesAutoresizingMaskIntoConstraints = false
    iv.frame.size = CGSize(width: CGFloat(375 * (11 / 59)), height: CGFloat(375 * (11 / 59)))
    return iv
}()
然后,我添加约束:

/* center-top button */
// buttonImageView.frame = CGRect(x: 0, y: 0, width: buttonDiameter, height: buttonDiameter)
addConstraint(NSLayoutConstraint(item: buttonImageView, attribute: .height, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: buttonDiameter))
addConstraint(NSLayoutConstraint(item: buttonImageView, attribute: .width, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: buttonDiameter))
addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:[v0]", options: NSLayoutFormatOptions.alignAllCenterX, metrics: nil, views: ["v0": buttonImageView]))
// addConstraintsWithFormat("H:[v0]", views: buttonImageView)
addConstraintsWithFormat("V:|-\(buttonSpacing)-[v0]", views: buttonImageView)
//addConstraint(NSLayoutConstraint(item: buttonImageView, attribute: .centerX, relatedBy: .equal, toItem: self, attribute: .centerX, multiplier: 1, constant: 0))


请忽略“嗨!”方块。其下方的红色方块“buttonImageView”应位于该垂直约束处,但水平居中。

如果以编程方式使用约束,则首先需要激活它们

blabla.constraint1.isActive = true;
addConstraint(NSLayoutConstraint(项:buttonImageView,属性:.centerX,关联方:.equal,toItem:self,属性:.centerX,乘数:1,常数:0))

更换:

addConstraints(NSLayoutConstraint.constraints(具有可视化格式:“H:[v0]”,选项:NSLayoutFormatOptions.alignAllCenterX,度量值:nil,视图:[“v0”:buttonImageView]))

与:

NSLayoutConstraint(项:buttonImageView,属性:.centerX,关系人:.equal,toItem:self,属性:.centerX,乘数:1.0,常数:0.0)。isActive=true


你应该做到这一点。

哈哈,你必须使用我的变量名才能让我理解。我对Swift非常不熟悉,我找不到
。active
isActive
就是他所说的。虽然这段代码可能会回答这个问题,但您应该添加一个解释,说明为什么/如何解决问题。