如何讓圖片撐起cell 達(dá)到圖片自適應(yīng)排版的效果
最常規(guī)的做法
Step1:

xib約束.png
Step2:

選擇模式.png
OK 這2步看似合情合理 那下面看看運(yùn)行效果

運(yùn)行效果1
然后會(huì)發(fā)現(xiàn)這tm留白是幾個(gè)意思 忍不住抱怨這個(gè)屬性一點(diǎn)都不智能
經(jīng)過(guò)排查 發(fā)現(xiàn)一個(gè)屬性比較可疑
intrinsicContentSize,也就是控件的內(nèi)置大小

intrinsicContentSize
那我們下面開(kāi)始確認(rèn)猜想 打印 image的size 和 imageView的intrinsicContentSize

打印尺寸
二者完全一樣 那么真想就要浮出水面了!
現(xiàn)在我們可以理解 intrinsicContentSize

API解釋
大意是當(dāng)我們沒(méi)有約束或者設(shè)置view的size的時(shí)候 view會(huì)自動(dòng)根據(jù)內(nèi)容先初始化一個(gè)intrinsicContentSize

圖片文件
然后我們?cè)倏匆幌聢D片原始大小 果然剛才intrinsicContentSize被初始化成了image的size
那接下來(lái)就很簡(jiǎn)單了 直接重新這個(gè)方法就可以了

重寫(xiě)方法
看看效果

運(yùn)行效果2
小結(jié)
系統(tǒng)給出的contentModel枚舉達(dá)不到預(yù)期的效果時(shí),可以通過(guò)新建子類(lèi)重寫(xiě)系統(tǒng)方法 以達(dá)到預(yù)期效果。
另外,重寫(xiě)方法之后,系統(tǒng)的contentModel無(wú)論選擇何種樣式,都不會(huì)生效。