今天忽然發(fā)現(xiàn)了一個(gè)列表展示的bug,具體情景比較坑爹:未登錄狀態(tài)下請(qǐng)求列表數(shù)據(jù),無(wú)法顯示最后一條數(shù)據(jù)丐黄,只能拖拽tableView才能看見,一松手就又彈回去了孔飒。下面附帶上效果圖:
于是乎我就往tableView的frame以及contentInset方面考慮灌闺,結(jié)果發(fā)現(xiàn):
automaticallyAdjustsScrollViewInsets 已經(jīng)設(shè)置過(guò)了
frame沒(méi)問(wèn)題艰争,也已經(jīng)將navigationBar等高度都考慮進(jìn)去了
至于contentInset,我根本沒(méi)有設(shè)置桂对,而且出現(xiàn)詭異的情況是园细,只有未登錄狀態(tài)下第一頁(yè)的數(shù)據(jù)如此,加載更多頁(yè)或者登錄狀態(tài)下接校,毛線問(wèn)題都沒(méi)有猛频,那么我就郁悶了,結(jié)果覺得可能是tableView contentSize的問(wèn)題蛛勉,tableView是根據(jù)內(nèi)容高度去設(shè)置contentSize的鹿寻,我之前處理的cell高度計(jì)算是放到了cell中,故此诽凌,我將高度返回了一個(gè)定值毡熏,結(jié)果問(wèn)題不見了,所以最終得出的結(jié)論是在cell中計(jì)算高度耗時(shí)侣诵,導(dǎo)致布局出現(xiàn)混亂痢法,于是我就將cell高度放到了model中,結(jié)果問(wèn)題完美解決杜顺。
最后總結(jié):出現(xiàn)tableView顯示不全或者最后一行不顯示的問(wèn)題财搁,從以下幾個(gè)方面查找:
- automaticallyAdjustsScrollViewInsets 查看這個(gè)屬性是否置為NO
2.查看tableView的frame,看是否設(shè)置有誤
3.嘗試在cell高度上測(cè)試一番
ps:通過(guò)這次bug教訓(xùn)躬络,以后關(guān)于列表cell高度計(jì)算復(fù)雜問(wèn)題尖奔,還是妥帖的老老實(shí)實(shí)放到model中去吧