我有一个UITableView,其自定义背景图像设置如下:
self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"mybg.png"]];
背景看起来很好,但是我的UITableViewCells(默认单元格,而不是自定义)对它们有一些奇怪的色调,包含“新项目”文本的UILabel似乎也有某种背景。我该如何删除?我已经尝试过了:
cell.backgroundColor = [UIColor clearColor];
cell.textLabel.backgroundColor = [UIColor clearColor];
由于
答案 0 :(得分:2)
我认为这是一个令人讨厌的副作用,只需将图像直接添加到表视图的backgroundColor中即可。
尝试将图片添加到视图的背景颜色:
[[self view] setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"mybg.png"]]];
然后将表格视图的backgroundColor设置为清除:
[[self tableView] setBackgroundColor:[UIColor clearColor]];
我希望这有帮助!
答案 1 :(得分:0)
有些时候,当您为应用程序设置图像并在模拟器上进行测试时,它们会被冻结到应用程序中进行少数运行。不确定,即使删除图像文件也是如此;他们仍然不断涌现。
我会让你休息模拟器,并重新启动Xcode。然后在模拟器上强制重建应用程序。这应该清除任何图像 - 如果仍然被引用的背景图像。
如果这不是一个有效的解决方案......请确保您没有冲突命令转到同一个UiTablView对象 - (1来自IB,1来自Xcode,程序化)。有时你可能会忽略你在IB中设置了某些内容,并且它与你通过编程方式所做的事情相冲突。
如果这不能解决问题...检查IB中的连接并确保您重新获得正确的IBOutlet UITableView * tableview。并且您在头文件中有委托和数据协议。
答案 2 :(得分:0)
如果你想让每个单元格都有背景并想要删除文本的背景,也许你可以试试这个......
- (void)viewDidLoad {
...
self.tableView.backgroundColor = [UIColor clearColor];
...
}
- (UITableViewCell *)tableView:(UITableView *)table cellForRowAtIndexPath:(NSIndexPath *)indexPath {
...
cell.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"mybg.png"]];
cell.textLabel.backgroundColor = [UIColor clearColor];
...
}