在使用“UIView animateWithDuration:......”时出现问题。
我在动画中遇到了麻烦。这里是一些代码:在使用“UIView animateWithDuration:......”时出现问题。
//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”仍为“YES”)...
我该如何保持动画的工作?
如果我正确地理解了这个问题,您可以在viewDidAppear中再次调用该方法,并且它应该重新开始。
- (void)viewDidAppear:(BOOL)animated;
如果代码是:
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath;
,那么你可以尝试只通过调用reloadData上的tableView在viewDidAppear方法重载的tableView。如果_isEdit仍然等于YES,那么动画应该再次触发。
Thx〜它的作品...但它似乎有点不平滑...... – kung
你可以尝试从视图控制器生命周期的不同部分调用它,如viewWillAppear。如果这不适合你,你可能不得不重新考虑你的结构(如果它有效,它应该被标记为答案)。 –
使用'self.isEdit'然后尝试。 – PiyushRathi