iOS - 了解NSLayoutConstraint倍增器

时间:2016-10-27 17:26:55

标签: ios swift

我试图根据View Controller的高度设置视图的高度。这是我的代码。

self.view.addConstraints([
            self.view.topAnchor.constraint(equalTo: someView.topAnchor),
            self.view.leftAnchor.constraint(equalTo: someView.leftAnchor),
            self.view.rightAnchor.constraint(equalTo: someView.rightAnchor),
            self.view.heightAnchor.constraint(equalTo: someView.heightAnchor, multiplier: 20.0, constant: 0.0)
            ])

我希望someView的高度为视图控制器总高度的20%。我现在得到的结果是不正确的。我改变乘数时,someView的高度不会改变。

我做错了什么?

更新

0.2表示结果不正确。 Someview看起来比View Controller

更大

1 个答案:

答案 0 :(得分:0)

您正在错误地读取参数。 20表示您希望视图的高度比someView的高度大20倍。你想要的是视图是someView的高度的20%,所以你需要乘以.2。

    self.view.heightAnchor.constraint(equalTo: someView.heightAnchor, multiplier: 0.2, constant: 0.0)