在编辑模式下将自定义 UITableViewCells 动画化到左侧(而不是右侧)

Animating Custom UITableViewCells to the left in editing mode (instead of right)

我有一个带有自定义单元格的 UITableView,我希望用户能够四处移动单元格。问题是当 tableview 进入编辑模式时,单元格像这样向右移动

但我希望它们向左移动,这样单元格就不会被重新排序控件挡住

我查看了一堆 SO 问题,但没有找到任何答案。有没有简单的方法可以做到这一点,还是我必须自己编写动画?

此外,有人能告诉我为什么会这样吗?

注意

这是我为此添加的委托方法

- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}

而且,是的,我确实将自定义视图添加到自定义单元格内容视图中

谢谢

尝试覆盖 UITableViewCell 的 setEditing:animated: 函数来创建自定义动画并按您需要的方向移动控件。

例如

- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
    [super setEditing:editing animated:animated];

    if (animated) {
        [UIView animateWithDuration:0.5 delay:0.0
                            options:UIViewAnimationOptionCurveEaseInOut animations:^{
            CGRect titleFrame = self.titleLabel.frame;

            if (editing) {
                [self.titleLabel setFrame:CGRectMake(15, titleFrame.origin.y, titleFrame.size.width, titleFrame.size.height)];
            } else {
                [self.titleLabel setFrame:CGRectMake(25, titleFrame.origin.y, titleFrame.size.width, titleFrame.size.height)];

            }
        }completion:nil];
    }
}