初始化子檢視(沒有frame)並add到父檢視上 呼叫 myview.snp.makeconstraints 盡情享受簡潔**實現 autolayout吧!
snp.makeconstraints 方法給view新增約束,約束種類 分別是邊距,寬,高,左上右下距離,基準線。同時,新增過約束後可以有修正,修正有位移修正(inset、offset)和倍率修正(multipliedby)
這塊內容可跳過。不信讀讀下面的**,如果大體能看懂,就過了import uikit
import snapkit
class viewcontroller: uiviewcontroller
}}class viewcontroller2: uiviewcontroller
}}//下面三個引數可以略過了
檢視屬性(viewattribute)
布局屬性(nslayoutattribute)
view.snp.left
nslayoutattribute.left
view.snp.right
nslayoutattribute.right
view.snp.top
nslayoutattribute.top
view.snp.bottom
nslayoutattribute.bottom
view.snp.leading
nslayoutattribute.leading
view.snp.trailing
nslayoutattribute.trailing
view.snp.width
nslayoutattribute.width
view.snp.height
nslayoutattribute.height
view.snp.centerx
nslayoutattribute.centerx
view.snp.centery
nslayoutattribute.centery
view.snp.baseline
nslayoutattribute.baseline
想讓view.left 大於等於 label.left:
make.left.greaterthanorequalto(label)
像剛才說的,它就等價於:
make.left.greaterthanorequalto(label.snp.left)
比如將寬度和高度屬性設定為常量值:
make.height.equalto(20)
make.width.equalto(20)
make.top.equalto(42)
算了,直接看**吧 , 我也不寫了
class viewcontroller: uiviewcontroller
//注意兩個view是巢狀關係
boxinner.snp.makeconstraints
/* 這塊我只寫這點了
box2.snp.makeconstraints */}
}讓當前檢視 的 上下左右(top,left,bottom,right) 等於 view2
make.edges.equalto(view2)
// 內位移修正
make.edges.equalto(view2).inset(uiedgeinsetsmake(10, 15, 20, 25))
// 外位移修正
make.top.equalto(view2).offset(20)
當前檢視寬高 >= titlelabel
make.size.greaterthanorequalto(titlelabel)
// 外位移修正
make.size.equalto(boxoutter).offset(-50)
//讓 width = 父檢視.width - 50, height = 父檢視.height - 50
當前檢視與 button1中心相同 (centerx 和 centery)
make.center.equalto(button1)
//倍率修正:multipliedby 將檢視的尺寸設定成父檢視一半大小
make.center.equalto(boxoutter)
make.size.equalto(boxoutter).multipliedby(0.5)
//即 width = superview.width / 2, height = superview.height / 2
SnapKit自動布局 一
也許你在寫oc的時候已經用過了masonry這個第三方庫來寫自動布局,今天我們來說說swift版本的masonry第三方庫snapkit snapkit 今天就先來用snapkit來做一件簡單的自動布局。效果圖 show your code let greenview uiview greenvie...
Swift 布局框架SnapKit使用
1 安裝 snapkit github位址 viewcontroller.swift sk snapkit created by coder on 2019 3 6.import uikit import snapkit class viewcontroller uiviewcontroller 更...
EUI庫 自動布局
自適應流式布局 width 100 top left right horizontalcenter 0 失效驗證機制 這些非同步過程都封裝好了,我們只需要關注那一對方法 invalidateproperties 和commitproperties 前者標記屬性失效,後者應用失效的屬性 乙個是測量驗證...