Masonry
Masonry
是iOS推出autolayout之后出現(xiàn)的一個開源框架,方便開發(fā)者指定view的相對布局位置
在使用Masonry
時,要指定夠view的約束條件,否則會出現(xiàn)警告,無法達到預期
Case
今天在開發(fā)中,自定義了一個TableViewCell,在Cell中需要根據(jù)文本內(nèi)容來調(diào)整UILabel的高度,而init的時候還沒有獲取到文本內(nèi)容,所以高度無法按照預期調(diào)整。
嘗試1:
在init中設置UILabel的約束,然后在設置文本處,重新設置約束,會出現(xiàn)約束重復的原因。而不是像預期的那樣,新的約束會覆蓋舊的約束。
嘗試2:
在init中設置UILabel的部分約束,然后在設置文本處,計算出文本高度,在setFrame設置高度,可以達到預期效果