ios - UITableView contentInset 的动画不一致

标签 ios uitableview animation

谁能帮我解决一个我想不通的动画问题。我在“拉动刷新”中实现了以下代码。

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

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

非常感谢任何帮助

最佳答案

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

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

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

关于ios - UITableView contentInset 的动画不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8025630/

相关文章:

animation - Flutter 反向动画完整监听器

android - Gallery 如何在 getView 中使用 AnimationDrawable

ios - 如何在 Swift 中使用相机自动拍照

ios - OCMockito 如何捕获 block 并匹配任何其他原始参数?

ios - 无法将 UITableViewCell 设置为单元格

swift - 倒带时自动重新加载 TableViewController

ios - UIDatePicker事件已更改

android - 跨平台应用内购买

iphone - 将委托(delegate)添加到自定义 UITableView

ios - 如何在没有动画的情况下隐藏键盘(或加速此动画)