控制uitableview insertRowsAtIndexPath动画的速度

时间:2012-03-27 09:55:12

标签: ios uitableview

我使用insertRowsAtIndexPath而不是reloadData。 在第一次加载时,动画太快,因为行数很高。

我可以控制insertRowsAtIndexPath的速度动画吗?

感谢。

3 个答案:

答案 0 :(得分:0)

我认为不可能操纵动画速度。

也许你可以改用scrollToRowAtIndesPath

答案 1 :(得分:0)

覆盖insertRowsAtIndexPaths并随意添加自定义动画。

- (void)insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:   (UITableViewRowAnimation)animation

 {

for (NSIndexPath *indexPath in indexPaths)
{
    UITableViewCell *cell = [self cellForRowAtIndexPath:indexPath];

    [cell setFrame:CGRectMake(320, cell.frame.origin.y, cell.frame.size.width, cell.frame.size.height)];

    [UIView beginAnimations:NULL context:nil];
    [UIView setAnimationDuration:1];
    [cell setFrame:CGRectMake(0, cell.frame.origin.y, cell.frame.size.width, cell.frame.size.height)];
    [UIView commitAnimations];
}
}

答案 2 :(得分:-3)

绝对未经测试,但你可以尝试五秒动画:

[UIView animateWithDuration:5. animations:^(void){
    [_tableView insertRowsAtIndexPath:... animated:NO];
}];