-1

我想将我的图像视图限制为与前锚点有 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)

        ])


    }
    }
4

1 回答 1

1

尝试

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) 
])
于 2020-05-10T00:08:06.350 回答