iOS 8.1 iTableView背景色始终为白色
我已经在iOS 7.1中测试过了,效果很好。我正在使用下面的线条将背景色设置为桌面视图上的清晰iOS 8.1 iTableView背景色始终为白色,ios,uitableview,ios8,Ios,Uitableview,Ios8,我已经在iOS 7.1中测试过了,效果很好。我正在使用下面的线条将背景色设置为桌面视图上的清晰 self.tableview = [[UITableView alloc]initWithFrame:self.bounds style:UITableViewStylePlain]; self.tableview.delegate = self; self.tableview.dataSource = self; self.tableview.backgroundVi
self.tableview = [[UITableView alloc]initWithFrame:self.bounds style:UITableViewStylePlain];
self.tableview.delegate = self;
self.tableview.dataSource = self;
self.tableview.backgroundView = nil;
self.tableview.backgroundColor = [UIColor clearColor];
self.tableview.tableFooterView = [[UIView alloc]initWithFrame:CGRectZero];
[self addSubview:self.tableview];
我还将tableFooterView设置为一个新视图,以使用隐藏任何剩余的未使用单元格
self.tableview.tableFooterView = [[UIView alloc]initWithFrame:CGRectZero];
这在iOS 7上运行得很好,但在iOS 8中,我留下了一个白色的背景色作为桌面视图下的空间。tableview内部的superview也有一个清晰的背景色。有什么想法吗
下面添加了图片-我不得不模糊客户名称
在iOS 7上工作
苹果文件中说,iOS 8.1不工作
。。。在iOS 7中,默认情况下,单元格背景为白色;在iOS的早期版本中,单元格继承封闭表视图的背景色。如果要更改单元格的背景色,请在表视图委托的tableView:willDisplayCell:forrowatinexpath:方法中进行更改
您可能需要使用willDisplayCell UITableView委托方法为表视图提供透明的背景
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cellforRowAtIndexPath:(NSIndexPath *)indexPath
{
[cell setBackgroundColor:[UIColor clearColor]];
}
对我来说,这是有效的(我在自己的XIB中使用自定义
UITableViewCell
):
- 在IB中将单元格的内容视图背景设置为“清除颜色”
- 在IB中将单元格背景设置为清晰颜色
- 在viewDidLoad中以编程方式将表格视图的背景色设置为
。在情节提要中这样做是行不通的UIColor.clearColor()