我想约束我的图像视图与领先锚点之间的距离为20%,与顶部锚点之间的距离为20%。您可以在下面的照片中看到我想要的东西。对于topAnchor和LeadingAnchor,我们需要以某种方式弥补20%的差距。
var blueMove = UIImageView()
override func viewDidLoad() {
super.viewDidLoad()
NSLayoutConstraint.activate([
blueMove.topAnchor.constraint(equalTo: view.topAnchor, constant : 0),
blueMove.heightAnchor.constraint(equalTo: view.heightAnchor, constant : 0),
blueMove.widthAnchor.constraint(equalTo: view.widthAnchor, constant : 0),
blueMove.leadingAnchor.constraint(equalTo: view.leading, constant :0)
])
}
}
尝试
self.blueMove.translatesAutoresizingMaskIntoConstraints = false // don't forget this line
let percent = self.view.frame.width * 0.2 // 20% with 0.2 , 10% with 0.1
NSLayoutConstraint.activate([
blueMove.topAnchor.constraint(equalTo: view.topAnchor, constant :percent),
blueMove.heightAnchor.constraint(equalTo: view.heightAnchor, constant : 0),
blueMove.widthAnchor.constraint(equalTo: view.widthAnchor, constant : 0),
blueMove.leadingAnchor.constraint(equalTo: view.leading, constant :percent)
])