0

UITableView像这样在moreNavigationController中设置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 。谁能告诉我如何访问该方法?任何帮助将不胜感激。

4

1 回答 1

0

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

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

于 2012-08-13T12:35:37.423 回答