1

我正在尝试在重新加载数据后立即为表格视图的内容设置动画。我这样做成功了:

[_tableView reloadData];
[_tableView setContentInset:UIEdgeInsetsMake(-_tableView.contentSize.height, 0, 0, 0)];
[UIView animateWithDuration:kAnimationDuration animations:^{
    [_tableView setContentInset:UIEdgeInsetsMake(35, 0, 0, 0)];
    [_tableView setContentOffset:CGPointMake(0.0f,-35.f)];
}];

但是我的动画在不同的内容大小(更慢或更快)上的速度不同。每次重新加载后如何调整我的速度并获得完全相同的动画?

4

1 回答 1

2

根据表格视图的内容大小设置动画持续时间。

[_tableView reloadData];
[_tableView setContentInset:UIEdgeInsetsMake(-_tableView.contentSize.height, 0, 0, 0)];

animationDuration = _tableView.contentSize.height * aConstantK;

[UIView animateWithDuration:animationDuration animations:^{
    [_tableView setContentInset:UIEdgeInsetsMake(35, 0, 0, 0)];
    [_tableView setContentOffset:CGPointMake(0.0f,-35.f)];
}];
于 2013-09-20T07:00:49.270 回答