将图像视图限制为顶部和前锚之间留有空间的10%区域

问题描述 投票:0回答:1

我想约束我的图像视图与领先锚点之间的距离为20%,与顶部锚点之间的距离为20%。您可以在下面的照片中看到我想要的东西。对于topAnchor和LeadingAnchor,我们需要以某种方式弥补20%的差距。

enter image description here

    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)

        ])


    }
    }
swift autolayout constraints nslayoutconstraint
1个回答
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) 
])
© www.soinside.com 2019 - 2024. All rights reserved.