我有一个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.
有没有办法可以实现我的目标?