更新在iOS6的的UITableView的背景为标准样式视图

问题描述:

我已经安装一个UITableView如下:更新在iOS6的的UITableView的背景为标准样式视图

// Create sub view for fields 
fieldView = [[UITableView alloc] initWithFrame:CGRectMake(0, logoView.bounds.size.height, 320, 160) style:UITableViewStyleGrouped]; 
fieldView.delegate = self; 
fieldView.dataSource = self; 
fieldView.scrollEnabled = NO; 
[fieldView setBackgroundColor:[UIColor whiteColor]]; 
fieldView.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleTopMargin; 

很简单这里看,我把两个领域进入细胞。在任何人询问之前...... 我使用的是个人选择和最佳外观的表格视图。

我的问题是,我想使用

风格:UITableViewStyleGrouped

,因为我觉得它看起来最好的布局。问题是,如果我将BackBackground设置为ios6中的表视图上的颜色,它不会更新。在ios5模拟器中,我看到了变化,而不是在ios6中。我正在寻找的是tableview中的分组样式,但是可以控制该部分视图的背景颜色。这是否意味着由唯一的选择是使用的实现代码如下视图代替,如果是没有人知道如何轻松地复制的tableview风格在视图编程

使用backgroundView。所以,如果你不想在默认背景设置为nil:

fieldView.backgroundView = nil; 

然后,它会使用backgroundColor设置。

+0

简单!谢谢 – StuartM 2013-02-22 19:42:28

我还没有特别分组的风格尝试这,所以这只是一些尝试:而不是调用setBackgroundColor,如果您设置表视图的backgroundView会发生什么?你可以将它设置为你之前设置了背景色的任何UIView。

使用-tableView:willDisplayCell:forRowAtIndexPath:根据需要截取单元格和颜色。

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { 
    if (indexPath.row % 3) 
     cell.backgroundColor = [UIColor redColor]; 
} 

这适用于分组tableview,在故事板,任何。