当用户在单元格中滑动时,我试图在表格的单元格上显示某些子视图 . 我正在使用iOS提供的块动画 .
我正在使用以下代码在UITableViewController的ViewDidLoad方法中注册滑动手势 .
UISwipeGestureRecognizer *showExtrasSwipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(cellSwipe:)];
showExtrasSwipe.direction = UISwipeGestureRecognizerDirectionLeft;
[self.tableView addGestureRecognizer:showExtrasSwipe];
当用户在单元格中滑动时,我使用以下代码启动翻转动画 .
-(void)cellSwipe:(UISwipeGestureRecognizer *)gesture
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ActionsCell" owner:self options:nil];
ActionsCell* actionView = (ActionsCell *)[nib objectAtIndex:0];
[UIView transitionWithView:swipedCell duration:0.5
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:^ { [swipedCell addSubview:actionView]; }
completion:nil];
}
通过以上实现,我观察到翻转动画持续时间不是恒定的,有时动画不是平滑的 . 我观察到,如果我快速扫过细胞,那么动画就会很平滑 . 但是,如果我慢慢地滑动一点,即花费更多时间进行滑动,则翻转动画不平滑,有时动画根本不可见 .
可能是因为我将动画的持续时间设置为0.5秒,慢速滑动所花费的一些时间会减少动画的可用持续时间吗?有没有办法检查滑动已结束?我使用的是iOS 4.3
感谢您的帮助 !!
1 回答
我们最终解决了这个问题,实现了从0.5s到0.8s的过渡时间略有增加的解决方法 . 虽然可能是正确的解决方案,但还不确定 .