項目中遇到cell動態高度,原本想著是根據數據源的數據來給cell的高度賦值就行了,可是一直弄不好。。有的沒錯,但是有的cell上的自視圖會超過cell的高度,覆蓋下個cell,造成很大的困擾。。沒辦法,菜鳥啊。。。
不過問題終究還是被解決了。。。
我是用xib拖的cell,但是沒用適配。是代碼適配的。
給cell一個獲取高度的方法,在cell的點h申明中。在點m中實現
這里我的cell是根據cell上加的一個背景View(cellBeijinView)的高度變化而變化的,而這個背景view上有lable和圖片,lable上顯示服務器傳過來的備注信息,字數不定,所以高度也不一定,圖片數量也不一定,所以我的背景View高度也是動態的。
/*這里是重要部分*/
這個方法是給cell一個預定的高度,一般的都是先吊用heightForRowAtIndexPath方法在調用cellForRowAtIndexPath方法。但是現在加了上面的給定預先高度的
方法,就可以先調用cellForRowAtIndexPath
再調用heightForRowAtIndexPath方法了,而且最終cell的高度是以heightForRowAtIndexPath方法中給的值為準。
所以我們可以在cellForRowAtIndexPath中弄到Cell上背景view的高度,再把cell的高度放到一個字典中存起來,key就用indexpath來設定。
在cellForRowAtIndexPath方法中,
在heightForRowAtIndexPath
方法中
這樣就OK了,注意這里在cellForRowAtIndexPath方法里有一個
這個是讓一個cell預先布置試圖,和那個給定預先高度的方法同理,總之這樣過后,你的適配就可以了。完美。。。
當然本菜鳥有哪些地方說的不對,歡迎指正,不要讓我的理解一直歪曲,謝謝大家,希望幫到你們