在UITableView中为每行设置背景图像而不是UITableViewCell?

时间:2011-12-28 01:10:18

标签: ios image uitableview

目前我在cellforrowatindex路径中的每个UITableViewCell中设置背景图像(UIImageView)。

这就是我设置的方式:

if (indexPath.row%2) {
        cell.backgroundImage.image = [UIImage imageNamed:@"Image1.png"];
    }
    else {
        cell.backgroundImage.image = [UIImage imageNamed:@"Image2.png"];
    }

问题是,当我通过setEditing进行编辑时:左侧有一个空白区域,红色圆圈按钮是我不想要的。我希望它在开始编辑时从左侧进入的区域继续成为Image1或Image 2。

如何修改我的代码呢?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您的tableview已分组,则可以使用

@property(nonatomic) BOOL shouldIndentWhileEditing

如果没有,我知道的其他选项是以你的背景为单位1& 2并创建一个可调整大小的图像,用

平铺
- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets

并将其用作您的tableview背景。 capInsets当然都是零。

UIImage *tableBackground =[[UIImage imageNamed:@"cell_1_2"] 
                               resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];

如果您的细胞是标准高度,请在photoshop中制作一个新图像,该图像是您的cell1&要在表格中向下交替的cell2背景,320x88并将其命名为“cell_1_2”。然后使用它作为您的tableview背景,它将平铺/重复您的tableview的长度。唯一的问题是如果表格中的单元格数量没有占据屏幕的高度,背景图像仍然会平铺到视图的底部。所以它可能不是最好的解决方案。