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 に答える