我正在尝试在重新加载数据后立即为tableview的内容添加动画效果。 这样做我成功了:
[_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)];
}];
但我的动画在不同内容大小上的速度不同(更慢或更快)。 如何调整我的速度并在每次重新加载后拥有完全相同的动画?
答案 0 :(得分: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)];
}];