swift 适配的方法autolayout 和 masory===snapKit库
2019獨角獸企業重金招聘Python工程師標準>>>
一、Masory
Masory庫 現在成為snapKit ?
首先找到SnapKit-develop庫?
將其中的source庫導入工程當中 不需要任何配置文件M跟 oc 的使用方法沒有什么太大的區別,以下為代碼
let view=UIView()
?? view.backgroundColor=UIColor.blueColor()
?? view.frame = CGRectMake(0, 0, 40, self.frame.height)
??????? backView.addSubview(view)
??????? view.snp_makeConstraints { (make) -> Void in
??????????? //top
??????????? make.bottom.equalTo(backView.snp_bottom).offset(11)
??????????? make.top.equalTo(backView.snp_top).offset(-10)
??????????? make.left.equalTo(backView.snp_left).offset(8)
??????????? make.right.equalTo(backView.snp_right).offset(-8)
??????? }
可以清楚的看見 與oc的代碼 基本一致 唯一的不同 在于swift前置為snp 而oc得前置為mas?而且數字可以直接寫在上 不需要添加@符號
添加高度或者寬度的代碼值
make.width.equalTo(120)
make.height.equalTo(30)
注意的坑:
1、添加約束前 必須有父視圖,否則會進行報錯
2、添加約束必須考慮全面 依靠某一個對象添加約束,那么這個對象必須是存在的已經建立的,否則則會報錯
3、添加約束的距離值,是左邊的位置減去右邊的位置,所以添加右邊和下邊的約束為負值
二、autolayout
跟oc的基本相同除了格式的變化 還有參數的變化,
具體代碼如下
?let viewq=UIView()
??????? viewq.backgroundColor = UIColor(red: 0.4, green: 0.3, blue: 0.1, alpha: 1)
??????? viewq.layer.cornerRadius=4
??????? viewq.layer.borderWidth = 0.5
??????? viewq.layer.borderColor = UIColor.blackColor().CGColor
??????? self.addSubview(viewq)
?//居中====單一的約束
????? self.addConstraint(NSLayoutConstraint(item: viewq,
??????? attribute:.CenterX,
??????? relatedBy:.Equal,
??????? toItem: self,
??????? attribute: .CenterX,
??????? multiplier: 1,
??????? constant: 0))
//距離底部是高度的20單位=====多條約束
//距離頂部20
??????? self.addConstraints([NSLayoutConstraint(item: viewq,
??????????? attribute: .Top,
??????????? relatedBy: .Equal,
??????????? toItem: self,
??????????? attribute: .Top,
??????????? multiplier: 1,
??????????? constant: 20),
??????????? NSLayoutConstraint(item: viewq,
??????????? attribute:.Bottom,
??????????? relatedBy: .Equal,
??????????? toItem: self,
??????????? attribute: .Bottom,
??????????? multiplier: 1,
??????????? constant:-20)])
轉載于:https://my.oschina.net/u/2561968/blog/598364
總結
以上是生活随笔為你收集整理的swift 适配的方法autolayout 和 masory===snapKit库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: logback常用配置
- 下一篇: C#中采用自定义方式读取自定义配置文件