将 imageview 限制在顶部和前导锚之间 space 的区域的 10%

constrain imageview to 10 percent of area with space between top and leading anchor

我想限制我的 imageview 与前导锚点之间有 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(equalToConstant:200),
  blueMove.widthAnchor.constraint(equalToConstant:200),     
  blueMove.leadingAnchor.constraint(equalTo: view.leading, constant :percent) 
])