2010-03-11 68 views
0

我有一个带有每个单元格的自定义图像背景的表格视图。在正常模式下,背景非常完美,并填充所有单元格。当tableView进入编辑模式时,左侧出现“ - ”按钮,所有对象都缩进,左侧出现背景问题:出现白色区域。谁能帮我?背景图片足够大以填充所有单元格,但其编辑模式下移动。我可以解决它吗?非常感谢!如何在编辑模式下调整UITableViewCell背景

更新:

我在我的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效果很好在正常模式下,但是当你在编辑模式去一切都错了:circulare红删除按钮不会出现,并且单元格的格式(在IB中设置的背景完美)不正确。

+0

你可以添加你的代码来设置背景图片吗? – 2010-03-11 02:09:50

回答

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 
+0

问题是,我想有2个不同的背景,当我选择的单元格。在IB中,如果您设置了“背景”和“选定背景”属性,则可以在点击单元格时更改背景。使用你的方法,当你点击单元格时,所选的背景图片不起作用 – Luca 2010-03-11 11:01:30

+0

实际上,如果你实现了你自己的UITableViewCell,你可以覆盖setHighlighted和/或setEditing。 – 2010-03-11 14:53:05

2

您可能已将图像视图添加为UITableViewCellcontentView的子视图。您需要将图像视图设置为UITableViewCellbackgroundView

backgroundView不能在edditing模式下移动。

+0

我已将它作为背景添加到Interface Builder中。我认为它是相同的 – Luca 2010-03-11 02:17:54

相关问题