使UITableView tableHeaderView清除,所有其他单元格为白色

时间:2012-05-07 13:53:56

标签: uitableview jtableheader

我的UITableView跨越iPhone视图的大小,tableHeaderView包含其他内容。希望标题清晰,表格的其余部分为白色,我将表格的背景颜色设置为清除,并在视图委托方法-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath内部将单元格的背景设置为白色。

这会处理带有内容的单元格,但现在又出现了另一个问题:我的表的数据没有扩展到底部,因此有许多单元格空格是清晰的。

我只是在寻找一个清晰的tableHeaderView和白色单元格。我接近这个错吗?将表格背景设置为白色并将headerView设置为清除不能解决问题。

2 个答案:

答案 0 :(得分:0)

这是一项似乎至少运作良好的工作:

  • UITableView的背景颜色设置为清除。
  • 在委托方法- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
  • 中将单元格的背景颜色设置为白色
  • 返回带有清晰背景的UIView作为标题视图。
  • 返回带有白色背景的UIView作为页脚视图,并根据您拥有的单元格数动态调整其高度。也就是tableView.frame.size.height - (rowHeight * numberOfRows + headerHeight)

答案 1 :(得分:0)

我有另一个想法,我今天尝试并且工作。我将tableView的背景颜色设为[UIColor clearColor],然后在标题视图后面放置一个滚动视图。我的解决方案是确保我在表标题视图后面的滚动视图将clipsToBounds设置为YES