我有一个表格视图,其中包含每个单元格的自定义图像背景。在正常模式下,背景是完美的并且填满所有细胞。当tableView进入编辑模式时,“ - ”按钮出现在左边,所有对象都缩进,左边我有背景问题:有一个白色区域。谁能帮我?背景图像足够大以填充所有单元格,但它在编辑模式下移动。我可以解决吗?非常感谢!
更新
我在UITableViewCell子类中使用了这段代码:
- (void) layoutSubviews
{
UIImage *backgroundImage = [UIImage imageNamed:@"sfondoCella2.png"];
UIImageView *bgView = [[UIImageView alloc] initWithFrame:self.bounds];
bgView.image = backgroundImage;
self.backgroundView = bgView;
[bgView release];
}
设置背景和appranetly在正常模式下运行良好但是当你进入编辑模式时都会出错:没有出现圆形红色删除按钮,并且单元格的注释(完全与IB中设置的背景)不正确。
答案 0 :(得分:2)
您可能已将图片视图添加为contentView
的{{1}}的子视图。您需要将图片视图设置为UITableViewCell
的{{1}}。
backgroundView
不会在edditing模式下移动。
答案 1 :(得分:2)
我认为没有办法通过IB添加背景图像。相反,我假设你只是添加一个UIImage子视图。
我已经在代码中向表格单元格添加了背景图像,我没有您描述的问题。
UIImage *backgroundImage = [UIImage imageNamed:@"my-bg.png"];
UIImageView *bgView = [[UIImageView alloc] initWithFrame:self.backgroundView.frame];
bgView.image = backgroundImage;
cell.backgroundView = bgView;
[bgView release];
理想情况下,您可以在自定义UITableViewCell的layoutSubviews方法中执行此操作,然后告诉IB这是您的单元格的类。
通过扩展UITableViewCell,您可以覆盖以下方法,并且可以精确控制单元格在编辑模式下或选择时的外观。
- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated
- (void)setEditing:(BOOL)editing animated:(BOOL)animated