如何在Swift中使用SnapKit使UIView具有相等的宽度和高度?

Kho*_*yan 4 ios autolayout swift snapkit

我想在Swift中使用SnapKit将UIView做成矩形,像这样

lazy var customView: UIView = {
        let view = UIView(frame: CGRect())
        self.addSubview(view)
        view.snp.makeConstraints({ (make) in
            make.left.top.bottom.equalToSuperview().inset(self.inset)
            make.width.equalTo(make.height)  // Error in this line
        })
        return view
    }()
Run Code Online (Sandbox Code Playgroud)

d.f*_*ber 9

您必须使用view.snp.height而不是make.height

lazy var customView: UIView = {
    let view = UIView(frame: CGRect())
    self.addSubview(view)
    view.snp.makeConstraints({ (make) in
        make.left.top.bottom.equalToSuperview().inset(self.inset)
        make.width.equalTo(view.snp.height) // <---
    })
    return view
}()
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,我解决了这个问题make.width.equalTo(view.snp.height) (3认同)