iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 21
0
自我挑戰組

打造專案管理 iOS App 系列 第 21

安能取熊掌而捨魚 SnapKit 進階用法(重做約束)

  • 分享至 

  • xImage
  •  

安能取熊掌而捨魚 SnapKit 進階用法(重做約束)

SnapKit是時代的洪流,是使用純code layout的第一隻號角。上次我們寫了更新約束的功能,但是如果我要把整個約束移除重做呢?
首先我們來了解了解,重做約束怎麼使用。

重做約束

重做約束的本質就是:去掉已有的所有約束, 重新做約束,記住,是做約束, 也就是說, 使用了remakeConstraints後,重做的約束必須要能確定相應視圖的大小和位置, 之前makeConstraints的約束已經不會存在了。
資料來源:https://www.jianshu.com/p/2bad53a2a180

實作看看

新增一個新的約束

        imageView.snp.makeConstraints { (make) in
            make.top.equalTo(textView.snp.bottom).offset(space)
            make.width.equalTo(textView.snp.width)
       //     make.height.equalTo(imageView.snp.width)
            make.height.equalTo(60)
            make.centerX.equalTo(textView.snp.centerX)
        }

在達成某個條件後,他會重做約束。

            imageView.snp.remakeConstraints { (make) in
                make.right.equalTo(imageView).offset(-10)
                make.bottom.equalTo(imageView).offset(-10)
                make.height.equalTo(imageView).multipliedBy(0.1)
                make.width.equalTo(imageView).multipliedBy(0.1)
            }

這是重做約束,你會發現。

重做約束,必須要有完整的約束條件

而更新約束,並不是沒有完整的約束條件,是因為他在已有完整的約束下更新特定的約束條件。


上一篇
安能取熊掌而捨魚 模糊畫面運用
下一篇
無限風光在險峰 UML簡介,為什麼要建模?
系列文
打造專案管理 iOS App 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言