【问题标题】:how to make UIView with equal width and height with SnapKit in Swift?如何在 Swift 中使用 SnapKit 使 UIView 具有相等的宽度和高度?
【发布时间】:2016-10-26 08:50:00
【问题描述】:

我想在 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
    }()

【问题讨论】:

    标签: ios swift autolayout snapkit


    【解决方案1】:

    你必须使用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
    }()
    

    【讨论】:

      【解决方案2】:

      如果您在同一个 superview 上有 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.widthview.snp.height,您可以使用SnapKit

      设置视图的相等性

      【讨论】:

        【解决方案3】:
            view.snp.makeConstraints({ (make) in
                make.left.top.bottom.equalToSuperview().inset(self.inset)
                make.width.equalTo(view.snp.height) 
            })
        

        【讨论】:

        • 请补充说明
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-03
        • 1970-01-01
        • 1970-01-01
        • 2022-11-03
        • 2019-03-05
        相关资源
        最近更新 更多