一展離愁
那些年iOS并沒有像Android那樣6的相對布局,一些老猴咬著jj猛然搞一個(gè)Frame模型,一個(gè)model模型歇攻;當(dāng)網(wǎng)絡(luò)請求到數(shù)據(jù)時(shí)候就處理一把數(shù)據(jù)把model里裝一個(gè)frame模型用來保存那些動(dòng)態(tài)不固定的高度驮樊;然后在model對cell賦值的時(shí)候調(diào)用heightcell那個(gè)tableview的代理方法,然后再把計(jì)算好的值給cell拟逮。好瘠薄麻煩撬统。
簡單點(diǎn),裝逼的方式簡單點(diǎn)
有位大俠可能也覺得這他媽計(jì)算太煩人敦迄,能不能讓我簡單的裝逼恋追。
于是就有了那個(gè)GitHub上很有名的框架
UITableView+FDTemplateLayoutCell
聽說可以適配iOS8以下,也是6的一逼罚屋;但是我的app以及目前我司的app不需要關(guān)心iOS8以下(我相信都是這樣)苦囱。
那么還是來把蘋果給我們的estimatedRowHeight玩6了吧
你又不是個(gè)演員,別設(shè)計(jì)那么多模式
當(dāng)拿到UED給的圖或者跟產(chǎn)品敲定需求的時(shí)候脾猛,不少人都會說我曹撕彤,干嘛設(shè)計(jì)那么復(fù)雜,能不能有規(guī)律的簡潔易用?可是理想很美好羹铅。那么還是動(dòng)手操練起來吧蚀狰。
特斯拉用swift開車成為可能:
首先確定效果圖上的每一個(gè)cell控件的個(gè)數(shù),然后分析一下他們之間的位置關(guān)系职员;接著理清位置關(guān)系那么開始拖線or用masonry寫布局了麻蹋。
原理剖析:
其實(shí)我們在做的事就是類似Android中的相對布局,我們要知道誰挨著誰
大部分控件不設(shè)置寬高內(nèi)容是會自適應(yīng)的焊切,same as label imageview扮授,uibutton等。
那么也就是說我們只要告訴cell它里面的contentview的高度专肪,
然后再確定好contentview中控件之間的相對位置就可以了刹勃。
說白了也就是要讓contentview直到自己要多高,然后告訴cell嚎尤;
如果不了解masonry荔仁,應(yīng)該都了解了的。不了解的說不過去的芽死,別瘠薄光開車不學(xué)習(xí)了咕晋。
地址:
https://github.com/Easyzhan/A_Auto_Cell_Fucker