2011-11-07 42 views
2

我想在用戶在單元格中滑動時嘗試在表格單元格上顯示某個子視圖。我正在使用iOS提供的塊動畫。iPhone:在滑動手勢中使用塊動畫方法翻轉動畫不太流暢

我正在使用以下代碼註冊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的持續時間的解決方案來解決這個問題。目前還不確定哪些是正確的解決方案。