我正在尝试创建一个分组样式的tableview,其中包含带有背景图像的单元格。 tableview和单元格都已在Interface Builder中设置。
一切正常,但单元格不会剪切背景图像角落,使单元格保持正方形。我试图启用“剪辑子视图”,我尝试添加UIImageView作为子视图(而不是使背景视图成为一个imageview),我都尝试直接选择背景图像或将单独的UIImageView连接到cell的backroundView Outlet - 无济于事。
我也试过以编程方式设置单元格 - 不起作用。似乎唯一能让角落四舍五入的是直接在Interface Builder中选择背景颜色(而不是图像),这不是我想要的。
关于SO的其他问题还有相关问题,但其中没有一个涉及背景图像的使用,所以没有帮助。
非常感谢任何见解..!
答案 0 :(得分:7)
您是否尝试过_table.backgroundColor = [UIColor clearColor];
?
FIXED:_cell.backgroundColor = [UIColor colorWithPatternImage:image];
答案 1 :(得分:2)
以上对我不起作用。
首先将窗口背景设置为您在应用委托中所需的颜色,如下所示:
UIView *bgView = [[UIView alloc] initWithFrame:self.window.frame];
bgView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"main_background.png"]];
[self.window addSubview:bgView];
[bgView release];
现在,如果您只有一个视图控制器,只需将其背景设置为清除并完成。我不得不接下来的步骤,因为我正在弹出一个带有表格视图的模态窗口,如果该视图的背景清晰,它看起来很不稳定。所以下面的代码修复了波涛汹涌的视图,我仍然得到圆角,因为在视图出现后我将背景设置为再次清除,让窗口中的背景显示出来。
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"main_background.png"]];
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
self.view.backgroundColor = [UIColor clearColor];
[self.tableView reloadData];
}