使用" UIView animateWithDuration:......"

时间:2016-12-15 16:19:22

标签: ios objective-c uiview

我在动画方面遇到了麻烦。这是一些代码:

//wobbling cells in collection view controller
if (_isEdit){
    myCell.transform = CGAffineTransformMakeRotation(-0.01);

    [UIView animateWithDuration:0.12
                          delay:0.0
                        options:UIViewAnimationOptionRepeat|UIViewAnimationOptionAutoreverse|UIViewAnimationOptionAllowUserInteraction|UIViewAnimationOptionCurveLinear
                     animations:^{
                         myCell.transform = CGAffineTransformMakeRotation(0.01);
                     } completion:nil];
}

我想要的是" _isEdit == YES;"细胞摇摆不定。

但是如果我在细胞摇摆时推到另一个ViewController, 然后解雇。动画停止(" _isEdit"仍然是"是")...

如何让动画保持有效?

1 个答案:

答案 0 :(得分:0)

如果我正确理解了这个问题,你可以在viewDidAppear中再次调用该方法,它应该重新开始。

Await.result(...)

如果代码来自:

- (void)viewDidAppear:(BOOL)animated;

然后您可以尝试通过在viewDidAppear方法中的tableView上调用reloadData来重新加载tableView。如果_isEdit仍然等于YES,那么动画应该再次触发。