我使用insertRowsAtIndexPath而不是reloadData。 在第一次加载时,动画太快,因为行数很高。
我可以控制insertRowsAtIndexPath的速度动画吗?
感谢。
答案 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];
}];