美文网首页
iOS开发Snapkit的使用

iOS开发Snapkit的使用

作者: lczalh | 来源:发表于2018-06-26 10:34 被阅读114次

    1.基本使用

            let viewOne = UIView()
            viewOne.snp.makeConstraints { (make) in
                make.left.top.equalToSuperview()
                make.width.height.equalTo(40)
            }
            //当前视图与 title中心相同 (centerX 和 centerY)
            make.center.equalTo(title)
            //当前视图宽高大于等于 title
            make.size.greaterThanOrEqualTo(title)
            //当前视图 的 上下左右(top,left,bottom,right) 等于 title
            make.edges.equalTo(title)
            //当前视图距离title视图上、左、下、右边距分别是20、20、20、30
            make.edges.equalTo(title).inset(UIEdgeInsetsMake(20, 20, 20, 30)) 
            //当前视图为title视图的一半
            make.size.equalTo(title).multipliedBy(0.5)
    

    2.属性

            .equalTo:等于
            .lessThanOrEqualTo:小于等于
            .greaterThanOrEqualTo:大于等于
            .edges::边缘  
            .size:尺寸
            .center:中心
            .inset:内位移修正
            .offset:外位移修正
            .multipliedBy:倍率修正
    

    3.更新、移除、重设约束

            //保存约束的引用
            var constraint:Constraint?
            title.snp.makeConstraints { (make) -> Void in
                self.constraint = make.width.height.equalTo(150).constraint
                make.center.equalTo(self.view)
            }
            
            //移除约束
            self.constraint?.deactivate()
            //1.更新修改约束
            self.constraint?.update(offset: 60)      
            //2.视图约束更新
            override func updateViewConstraints() {
                  self.title.snp.updateConstraints{ (make) -> Void in
                  //视图宽度与屏幕等宽
                        make.width.equalTo(self.view)
                   }
                  super.updateViewConstraints()
              }
    
             //重做约束
              title.snp.remakeConstraints { (make) -> Void in
                  make.width.height.equalTo(100)
             }
    

    相关文章

      网友评论

          本文标题:iOS开发Snapkit的使用

          本文链接:https://www.haomeiwen.com/subject/bbdpyftx.html