UITableView contentInset的动画不一致

时间:2011-11-06 06:49:08

标签: ios uitableview animation

有人可以帮忙解决动画问题我无法理解。我有以下代码,我正在“拉动刷新”中实现。

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
self.tableView.contentInset = UIEdgeInsetsMake(50, 0, 0, 0);
[UIView commitAnimations];

此方法也会在viewDidAppear中被调用:这就是我的问题所在。在应用程序的初始加载中,它运行良好。但是,在弹出视图或关闭模态视图后出现视图时,它不会设置动画。我之前和之后都设置了断点,所以我知道它已被调用,但没有动画。我也尝试过其他动画来代替contentInset,它们工作正常。最重要的是,如果我将内容插入更改为负数,它在初始加载时不起作用,但在所有其他情况下效果很好(显然在相反的方向上移动)。

我非常感谢任何帮助

1 个答案:

答案 0 :(得分:2)

所以,我列出的动画代码似乎仍然很奇怪,但至少我的目的是添加

if (feedTableView.contentOffset.y < 100 && feedTableView.contentOffset.y >= 0)
    [feedTableView setContentOffset:CGPointMake(0, -50) animated:YES]; 

到底部。这样,如果在视图出现时tableView当前接近顶部,则contentInset将更改为包含“正在加载”标题,然后tableView将滚动到该标题的顶部。