SnapKit-基礎(chǔ)篇

SnapKit的介紹

??SnapKit是Swift中的一個第三方自適應(yīng)布局庫听系,它對應(yīng)于OC中的Masonry贝奇。

SnapKit的基本語法與使用
  • 基本語法:

.equalTo/equalToSuperView:等于
.lessThanOrEqualTo:小于等于
.greaterThanOrEqualTo:大于等于
.inset/.offset:位移修正
.multipliedBy:倍率修正

  • 視圖屬性:

view.snp.left
view.snp.right
view.snp.top
view.snp.bottom
view.snp.leading
view.snp.trailing
view.snp.width
view.snp.height
view.snp.centerX
view.snp.centerY
view.snp.baseline

  • 基本使用:
    ??使用snp.makeConstraints方法之前需要將View添加到父元素中.
    ??--1 居中
make.center.equalToSuperview()
OR:
make.centerX.equalToSuperview()

???--2 top,left,bottom,right,width,height

make.top.equalTo()
make.left.equalTo(100)
make.bottom.equalTo()
make.right.equalTo()
make.width.equalTo(100)
make.height.equalTo(100)
OR:
make.top.equalToSuperview()
make.left.equalToSuperview()
make.bottom.equalToSuperview()
make.right.equalToSuperview()
make.width.equalToSuperview()
make.height.equalToSuperview()

??3 內(nèi)部修正:inset

make.edges.equalTo(someView).inset(UIEdgeInsetsMake(10, 15, 20, 25))

??4 外部修正:offset

make.size.equalTo(someView).offset(-20)

??5 倍率:multiplied

make.size.equalTo(someView).multipliedBy(0.38)
  • 約束的設(shè)置
    ??1 刪除約束
    //保存約束的引用
    var deleteSomeConstraint: Constraint?
....
    deleteSomeConstraint = make.width.height.equalTo(100).constraint
...
    //刪除不需要的約束
    deleteSomeConstraint?.deactivate()

???2 更新約束

    var updateSomeConstraint: Constraint?
...
    updateSomeConstraint = make.size.equalTo(someView).offset(-20).constraint
...
    //更新相應(yīng)的約束:方式一
    updateSomeConstraint?.update(offset: -30)

    //更新相應(yīng)的約束:方式二
    someView.snp.updateConstraints { (make) in
        make.width.equalTo(200)
    }

???3 重做約束

    someView.snp.remakeConstraints { (make) in
        make.edges.equalTo(anotherView).inset(UIEdgeInsetsMake(25, 30, 5, 5))
    }

???4 最小虹菲、最大約束

    //設(shè)置當(dāng)前View不大于self.view的寬度
    make.width.height.lessThanOrEqualTo(self.view.snp.width)
    //設(shè)置當(dāng)前View不小于self.view的寬度
    make.width.height.greaterThanOrEqualTo(self.view.snp.width)

參考:
航歌的技術(shù)博客

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市掉瞳,隨后出現(xiàn)的幾起案子毕源,更是在濱河造成了極大的恐慌浪漠,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件霎褐,死亡現(xiàn)場離奇詭異址愿,居然都是意外死亡,警方通過查閱死者的電腦和手機冻璃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門响谓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人省艳,你說我怎么就攤上這事娘纷。” “怎么了跋炕?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵赖晶,是天一觀的道長。 經(jīng)常有香客問我辐烂,道長遏插,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任纠修,我火速辦了婚禮胳嘲,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘分瘾。我一直安慰自己胎围,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布德召。 她就那樣靜靜地躺著白魂,像睡著了一般。 火紅的嫁衣襯著肌膚如雪上岗。 梳的紋絲不亂的頭發(fā)上福荸,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天,我揣著相機與錄音肴掷,去河邊找鬼敬锐。 笑死,一個胖子當(dāng)著我的面吹牛呆瞻,可吹牛的內(nèi)容都是我干的台夺。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼痴脾,長吁一口氣:“原來是場噩夢啊……” “哼颤介!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤滚朵,失蹤者是張志新(化名)和其女友劉穎冤灾,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體辕近,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡韵吨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了移宅。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片归粉。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖漏峰,靈堂內(nèi)的尸體忽然破棺而出盏浇,到底是詐尸還是另有隱情,我是刑警寧澤芽狗,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布绢掰,位于F島的核電站,受9級特大地震影響童擎,放射性物質(zhì)發(fā)生泄漏滴劲。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一顾复、第九天 我趴在偏房一處隱蔽的房頂上張望班挖。 院中可真熱鬧,春花似錦芯砸、人聲如沸萧芙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽双揪。三九已至,卻和暖如春包帚,著一層夾襖步出監(jiān)牢的瞬間渔期,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工渴邦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留疯趟,地道東北人。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓谋梭,卻偏偏與公主長得像信峻,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子瓮床,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容