UITableView是iOS UIKit中的常用控件,開發(fā)者可以通過自定義各式各樣的UITableViewCell樣式來完成實(shí)際項(xiàng)目開發(fā)需求。
但是在使用原生UITableView時(shí),會(huì)遇到一些惱人的小問題。下面一例,footerview在不恰當(dāng)時(shí)機(jī)出現(xiàn),引起白條閃現(xiàn)。
一、現(xiàn)象
近期在項(xiàng)目中,遇到一個(gè)之前從未遇到過的問題。當(dāng)滑動(dòng)UITableview至底部,并且上拉刷新加載更多數(shù)據(jù)。在數(shù)據(jù)成功加載之后,當(dāng)前的UITableview底部會(huì)閃現(xiàn)白色的線條,如圖1所示。

圖1
二、定位
在數(shù)據(jù)加載tableview刷新視圖瞬間,啟動(dòng)Xcode的Debug View Hierarchy功能,即可發(fā)現(xiàn)UITableViewHeaderFooterView這個(gè)子視圖,它就是造成刷新數(shù)據(jù)時(shí)閃現(xiàn)白條的原因。 如圖2所示

圖2
三、解決
在UITableViewDelegate中,對(duì)Section Footer View的方法復(fù)寫,將其置為空白色即可。
- (nullable UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section`
{
return [[UIImageView alloc] initWithImage:[UIImage createImageWithColor:kClearColor]];
}