日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于swift5以上的SnapKit框架的入门教程使用

發(fā)布時間:2023/12/18 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于swift5以上的SnapKit框架的入门教程使用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

關(guān)于swift的SnapKit框架的入門教程使用

蘋果在swift框架下面,一般使用snapKit進行純代碼的自動布局。常見的布局方式一種是純代碼,還有VFL,此語法較難,或者相對來說比較麻煩。還有storyboard故事板進行布局,還有xib添加約束進行布局,snapKit是純代碼進行自動布局,為了適用多種設(shè)備,就需要自動布局。例如iPhone6s和iPhone13設(shè)備,就需要進行調(diào)試,我選取的是iPhone13進行調(diào)試。也是這個月剛剛發(fā)布的新產(chǎn)品。

cocoaPods添加的版本。

pod 'SnapKit', '~> 5.0.1'

截止我發(fā)稿最新的版本。
居中顯示
創(chuàng)建一個box的View,設(shè)置寬高為100,在父View中居中顯示。

private func test1()->Void{let box = UIView()box.backgroundColor = UIColor.brownself.view.addSubview(box)box.snp.makeConstraints { (make) in// 寬高設(shè)置為100make.size.equalTo(100)// 在父視圖居中顯示make.center.equalToSuperview()}addLabel(view1: box, strTitle: "Box", colors: .white)}

2.dividedBy、multipliedBy兩者的用法都是一樣的,dividedBy(x)是除以x,multipliedBy(x)是乘以x。

private func test2(){let box = UIView()box.backgroundColor = UIColor.blueself.view.addSubview(box)box.snp.makeConstraints { (make) in// 在父視圖居中顯示make.center.equalToSuperview()// 寬度等于父視圖寬度的1/2make.width.equalToSuperview().dividedBy(2)// 高度等于父視圖高度的0.25make.height.equalToSuperview().multipliedBy(0.25)}addLabel(view1: box, strTitle: "box", colors: .white)}


3.offset (偏移量,位移)

private func test3(){let box = UIView()box.backgroundColor = UIColor.blueself.view.addSubview(box)box.snp.makeConstraints { (make) in// 距離父視圖上邊50dpmake.top.equalToSuperview().offset(100)// 距離父視圖左邊50dpmake.left.equalToSuperview().offset(50)// 距離父視圖下邊50dpmake.bottom.equalToSuperview().offset(-100)// 距離父視圖右邊50dpmake.right.equalToSuperview().offset(-50)// 更加簡單的寫法,下面一行代碼的效果和上面4行代碼一樣// make.edges.equalToSuperview().inset(UIEdgeInsets(top: 100,left: 50,bottom: 100,right: 50))}addLabel(view1: box, strTitle: "Box", colors: .white)}


topLayoutGuide、bottomLayoutGuide、safeAreaLayoutGuide
topLayoutGuide、bottomLayoutGuide在iOS 11.0 被棄用了,但是這里還是介紹一下這兩者的用法,之所以被廢棄是因為iPhone X之后推出的SafeArea概念,所以建議使用 safeAreaLayoutGuide。

作者:ImWiki
鏈接:https://www.jianshu.com/p/332b816cd3e4
來源:簡書
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。

private func test4(){let box1 = UIView()box1.backgroundColor = UIColor.blueself.view.addSubview(box1)box1.snp.makeConstraints { (make) inmake.size.equalTo(100)}addLabel(view1: box1, strTitle: "Box1", colors: .white)let box2 = UIView()box2.backgroundColor = UIColor.redself.view.addSubview(box2)box2.snp.makeConstraints { (make) inmake.size.equalTo(100)make.right.equalToSuperview().offset(0)// bottomLayoutGuide 已經(jīng)被棄用// make.top.equalTo(topLayoutGuide.snp.bottom)// 建議使用 safeAreaLayoutGuidemake.top.equalTo(self.view.safeAreaLayoutGuide.snp.top)}addLabel(view1: box2, strTitle: "Box2", colors: .white)let box3 = UIView()box3.backgroundColor = UIColor.yellowself.view.addSubview(box3)box3.snp.makeConstraints { (make) inmake.size.equalTo(100)make.bottom.equalToSuperview().offset(0)}addLabel(view1: box3, strTitle: "Box3", colors: .black)let box4 = UIView()box4.backgroundColor = UIColor.blackself.view.addSubview(box4)box4.snp.makeConstraints { (make) inmake.size.equalTo(100)make.right.equalToSuperview().offset(0)// bottomLayoutGuide 已經(jīng)被棄用// make.bottom.equalTo(bottomLayoutGuide.snp.top)// 建議使用 safeAreaLayoutGuidemake.bottom.equalTo(self.view.safeAreaLayoutGuide.snp.bottom)}addLabel(view1: box4, strTitle: "Box4", colors: .white)}


priority 優(yōu)先級用法
SnapKit一共提供了4種優(yōu)先級,優(yōu)先級順序是:required > high > medium > low。

private func test5(){let box1 = UIView()box1.backgroundColor = UIColor.blueself.view.addSubview(box1)box1.snp.makeConstraints { (make) in// 父視圖居中的優(yōu)先級是medium,距離父視圖右邊10的優(yōu)先級是high,距離父視圖上邊10的優(yōu)先級是low,所以運行的結(jié)果是“垂直居中,距離父視圖右邊10”make.center.equalToSuperview().priority(.medium)make.right.equalToSuperview().offset(10).priority(.high)make.top.equalToSuperview().offset(10).priority(.low)// 運行結(jié)果是寬高等于100make.size.equalTo(100).priority(.medium)make.size.equalTo(200).priority(.low)}}


git的地址如下。
https://e.coding.net/lujun1/iossnapkit/IOSSnapKit.git

總結(jié)

以上是生活随笔為你收集整理的关于swift5以上的SnapKit框架的入门教程使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。