UITableView setEditing不会对标签约束更改进行动画处理

时间:2014-01-11 00:09:51

标签: ios cocoa-touch uitableview nslayoutconstraint

因此,我在tableview中有一个自定义tableview单元格,当我使用[self.tableView setEditing:YES animated:YES];代码设置编辑模式时。

它设置编辑模式,但问题是我的标签在单元格上传送到它的新位置,因为当重新排序控件显示时它被向左推。如何在编辑发生时为约束更改设置动画?

我的tableview单元格的图片:(正确的约束在编辑过程中明显增加,但它没有动画,我希望它是)

Pic1

编辑:这是我的手机的setEditing。 我曾试图以多种方式做到这一点,但动画因某种原因不起作用,变化立即发生。

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

    if (editing) {
        [UIView animateWithDuration:0.25f
                              delay:0.0f
                            options:UIViewAnimationOptionCurveEaseIn
                         animations:^{
                             self.labelConstraint.constant = 100;
                             [self layoutIfNeeded];

                         }
                         completion:^(BOOL finished)
         {


         }];
    }
}

1 个答案:

答案 0 :(得分:1)

如果我在动画块之前更改约束

,则为我工作
- (void) setEditing:(BOOL)editing animated:(BOOL)animated
{
    [self layoutIfNeeded];
    self.containerLeftConstraint.constant = editing ? EditingIndent : 0.0f;

    [UIView animateWithDuration:0.3
                     animations:^{

                         [self layoutIfNeeded];
                     }];

}