访问moreNavigationController的UITableView的-willDisplayCell方法

时间:2012-08-13 12:32:03

标签: iphone ios cocoa-touch ios5 uikit

在moreNavigationController中设置UITableView的backgroundView后如此...

UITableView *moreTableView = (UITableView *)tabBarController.moreNavigationController.topViewController.view;
[moreTableView setBackgroundView:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bg.png"]]];

... UITableView的单元格将其backgroundColor从白色变为透明(透明)。我已尝试使用以下代码行将其设置为白色...

for (UITableViewCell *cell in [moreTableView visibleCells]) {
    [cell setBackgroundColor:[UIColor whiteColor]];
}

...但不幸的是,这不起作用,所以我想唯一的解决方案是在-willDisplayCell:方法中设置backgroundColor。谁能告诉我如何访问该方法?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

如果你有一个自定义单元格,那么单元格的背景颜色可以在UITabeViewCell的子类中设置,否则你应该尝试将这个逻辑添加到UITableView数据源的tableView:cellForRowAtIndexPath:方法中

你在循环中所做的只会影响可见单元格,因为它们会被重复使用,如果背景设置为动态清除,那么你将始终覆盖背景。