我已经在UITableView for ios 4.2上看过各种关于背景颜色的帖子,但我似乎无法改变背景颜色。
UIView *bgView = [[[UIView alloc] init] autorelease];
bgView.backgroundColor = [UIColor blackColor];
bgView.opaque = YES;
self.myTableView.backgroundView = bgView;
我已将此代码放在viewDidLoad中,但它不会更改颜色。我的UITableView是UIViewController中的一个IBOutlet,带有UITableViewDelegate& UITableViewDataSource所以我在viewDidLoad上思考UITableView已经渲染,我无法改变它的背景颜色。
编辑* - UITableView已分组
答案 0 :(得分:37)
尝试将表格视图的背景视图设置为nil,并设置表格视图的背景颜色
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.myTableView.backgroundView = nil;
self.myTableView.backgroundColor = [UIColor blackColor];
}
答案 1 :(得分:19)
只需更改tableView和tableView的backgroundView的backgroundColor属性。
- (void)viewDidLoad {
[super viewDidLoad];
id desiredColor = [UIColor clearColor];
self.tableView.backgroundColor = desiredColor;
self.tableView.backgroundView.backgroundColor = desiredColor;
}
答案 2 :(得分:4)
确认所有iOS的Edward Huynh解决方案< 6.0
如果尚未在.h
self.tableView.backgroundView = nil;
self.tableView.backgroundColor = [UIColor greenColor];
如果要将图案加载为背景
,请添加以下行self.tableView.opaque = NO;
self.tableView.backgroundColor = [UIColor clearColor];
self.view.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed:@"myImage"]];
答案 3 :(得分:0)
使用此委托更改颜色
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
cell.backgroundColor = [UIColor redColor];
}
编辑1:
UIView* backgroundView = [ [ [ UIView alloc ] initWithFrame:CGRectZero ] autorelease ];
backgroundView.backgroundColor = [ UIColor yellowColor ];
cell.backgroundView = backgroundView;
for ( UIView* view in cell.contentView.subviews )
{
view.backgroundColor = [ UIColor clearColor ];
}
答案 4 :(得分:0)
0 x 0像素的背景视图不可见。尝试使用initWithFrame:为视图提供实际大小。
答案 5 :(得分:0)
只是添加到此。我需要更改tableview的uiscrollview背景颜色以获得特定效果。您可以全局执行此操作:
[[UIScrollView appearance] setBackgroundColor:[UIColor whiteColor]];
或将其限制在单个控制器(iOS9):
[[UIScrollView appearanceWhenContainedInInstancesOfClasses:@[[MyViewController class]]] setBackgroundColor:[UIColor whiteColor]];