iOS增加了自定义UITableViewCell的编辑模式缩进

时间:2011-09-04 17:04:34

标签: objective-c ios uitableview

我有一个UITableView能够使用编辑模式等删除行。作为标准,当您点击“编辑”按钮时,您将进入编辑模式并且单元格的内容会被移动在右边。如果您执行“滑动删除”,则单元格内容会保持原样。

我想要做的是在进入编辑模式时增加缩进。我已经尝试了UITableView委托方法indentationLevelForRowAtIndexPath但是当我使用UITableViewCell子类时,这似乎不起作用。

最后,我在UITableViewCell子类中使用了layoutSubviews方法。以下是我的代码:

- (void)layoutSubviews
{
    [super layoutSubviews];

    CGRect b = [self bounds];

    if(self.editing && !self.showingDeleteConfirmation){
        b.origin.x = 42;
    }

    [self.contentView setFrame:b];
}

当您进入编辑模式时,这会进一步缩进单元格内容,并且感谢“!self.showingDeleteConfirmation”,当您执行“滑动删除”时,它不会缩进。

然而,当您点击“编辑”按钮,然后点击其中一个圆圈删除按钮时,单元格内容将滑回原始的0 x轴位置。这是因为showingDeleteConfirmation现在设置为true。

我试图通过检查当前origin.x值是什么来解决这个问题,但每次检查时,它都设置为0.

有没有办法可以实现我的目标?

0 个答案:

没有答案