現(xiàn)有一個需求如下圖所示:
注意圖中的“已發(fā)布”晋被,這個image是跨view的得封。圖中的餐點內(nèi)容是動態(tài)獲得的,樣式固定仪糖,顯然很適合用cell寫柑司。而時間戳位置的view又多種實現(xiàn)方法。
一锅劝、tableviewcell
我首先嘗試了將titleview放在每個section的第一個cell里攒驰,問題很快就來了,效果如下:
當cell滑出屏幕故爵,再滑進來玻粪,重用cell的時候,底下的cell會遮住上面的cell诬垂。
二劲室、UITableViewHeaderFooterView
我將titleview作為UITableViewHeaderFooterView,放在每個section頭部剥纷,問題隨之而來痹籍,如下圖所示:
UITableViewHeaderFooterView會停留在頂部,與下面的cell重疊晦鞋。感覺挺奇怪的蹲缠。
三、方法二的解決辦法
我嘗試在tableview滾動的時候計算高度悠垛,并隱藏titleview线定,終于讓我找到了一個方法:
//去掉UItableview headerview黏性(sticky)
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if (scrollView == self.tableView)
{
CGFloat sectionHeaderHeight = 64; //sectionHeaderHeight
if (scrollView.contentOffset.y <= sectionHeaderHeight && scrollView.contentOffset.y >= 0) {
scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0);
} else if (scrollView.contentOffset.y >= sectionHeaderHeight) {
scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 0, 0, 0);
}
}
}
方法起作用了,如下圖所示:
搞定收工确买!