9

このように、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
    }()
4

3 に答える 3

20

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
}()
于 2016-10-26T09:11:38.110 に答える
4

同じスーパービューに 2 つのビューがある場合は、次のことができます。

    view1.snp.makeConstraints { (make) in
        make.leading.equalToSuperview()
        make.bottom.equalToSuperview()
        make.top.equalToSuperview()
    }

    view2.snp.makeConstraints { (make) in
        make.trailing.equalToSuperview()
        make.bottom.equalToSuperview()
        make.top.equalToSuperview()
        make.leading.equalTo(view1.snp.trailing)
        make.width.equalTo(view1.snp.width)
    }

と結果

ここに画像の説明を入力

同様に、view.snp.widthまたはSnapKitview.snp.heightを使用してビューの等価性を設定できます

于 2017-01-04T11:05:42.277 に答える
-1
    view.snp.makeConstraints({ (make) in
        make.left.top.bottom.equalToSuperview().inset(self.inset)
        make.width.equalTo(view.snp.height) 
    })
于 2018-03-06T07:00:48.770 に答える