SnapKit 自動布局庫

2022-09-23 11:45:12 字數 2263 閱讀 1974

初始化子檢視(沒有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 前者標記屬性失效,後者應用失效的屬性 乙個是測量驗證...