我想让分组的UITableView透明化。我部分成功地使用以下代码:
UIColor *bgColor = [[UIColor alloc] initWithWhite:1 alpha:0.0];
historyTable.backgroundColor = bgColor;
不幸的是,圆形单元格中出现黑角。如何摆脱它们?
Before http://i49.tinypic.com/2iaa05u.jpg After http://i45.tinypic.com/2cnvckk.jpg
答案 0 :(得分:38)
而不是使用
UIColor *bgColor = [[UIColor alloc] initWithWhite:1 alpha:0.0];
historyTable.backgroundColor = bgColor;
只需使用:
historyTable.backgroundColor = [UIColor clearColor];
这也清除了你正在创建的内存泄漏。
答案 1 :(得分:35)
删除UITableView backgroundView
xxx.backgroundView = nil;
这在iPad版本中是必需的。编译为在iPad和iPhone上运行时,请检查tableView是否响应选择器...
if ([self.tableView respondsToSelector:@selector(setBackgroundView:)]) {
[self.tableView setBackgroundView:nil];
}
答案 2 :(得分:8)
对我来说,在将两者设置为nil / clear后,它最终完成了工作:
[myTableView setBackgroundView:nil];
[myTableView setBackgroundColor:[UIColor clearColor]];
答案 3 :(得分:3)
我有这个问题,发现使用之间没有区别:
[[UIColor alloc] initWithWhite:1 alpha:0.0];
并使用:
[UIColor clearColor];
我尝试了这两个并且在我的桌子视图上仍然有小黑角。
我也尝试按照建议将backgroundView设置为nil,但这也不起作用。
我通过在cellForRowAtIndexPath方法中将单个单元格的背景设置为透明来解决此问题:
cell.backgroundColor = [UIColor clearColor];
当然,这有副作用,你的细胞本身是透明的,这对每个人来说并不理想,但在这种情况下对我来说没问题。