Ios UITableView设置编辑不需要';t设置标签约束更改的动画
因此,我在tableview中有一个自定义tableview单元格,当我使用Ios UITableView设置编辑不需要';t设置标签约束更改的动画,ios,cocoa-touch,uitableview,nslayoutconstraint,Ios,Cocoa Touch,Uitableview,Nslayoutconstraint,因此,我在tableview中有一个自定义tableview单元格,当我使用[self.tableview setEditing:YES动画:YES]设置编辑模式时代码 它设置了编辑模式,但问题是单元格上的标签只是传送到它的新位置,因为当重新排序控件显示自己时,标签被向左推。编辑时,如何设置约束更改的动画 “我的tableview”单元格的图片:(当编辑进行时,右边的约束明显增加,但它并没有设置动画,我希望如此) 编辑:这是我手机的设置编辑。 我尝试了很多方法,但是动画由于某些原因无法正常工作
[self.tableview setEditing:YES动画:YES]设置编辑模式时代码>代码
它设置了编辑模式,但问题是单元格上的标签只是传送到它的新位置,因为当重新排序控件显示自己时,标签被向左推。编辑时,如何设置约束更改的动画
“我的tableview”单元格的图片:(当编辑进行时,右边的约束明显增加,但它并没有设置动画,我希望如此)
编辑:这是我手机的设置编辑。
我尝试了很多方法,但是动画由于某些原因无法正常工作,改变会立即发生
-(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)
{
}];
}
}
如果在动画块之前更改约束,则对我有效
- (void) setEditing:(BOOL)editing animated:(BOOL)animated
{
[self layoutIfNeeded];
self.containerLeftConstraint.constant = editing ? EditingIndent : 0.0f;
[UIView animateWithDuration:0.3
animations:^{
[self layoutIfNeeded];
}];
}
您能否显示您的单元格实现的setEditing:animated:
?请尝试添加[self-setNeedsLayout]代码>在[需要自布局]之前代码>您找到解决方案了吗?我也有同样的问题,5年后我也有同样的问题。说真的,这个问题还没有解决??我刚刚申请了代码级支持,所以我们将看看苹果对此有何评论。6年后我仍然坚持这一点。。。有人发现了吗@Trev14?这对我没用。在我的例子中,单元格中有一个右对齐的标签,即使在setEditing(:animated:)
中的每个可想象的点上都有过多的layoutifneed()
调用,动画的缺乏也是令人痛苦的。如果标签是左对齐的,并且仅约束到单元格contentView的左边缘,则一切看起来都很好,就像contentView平滑地设置了右侧动画一样,因此删除按钮可以显示在左侧。contentView中的布局动画会立即发生,不过:/