UITableView contentInset 的动画不一致
Posted
技术标签:
【中文标题】UITableView contentInset 的动画不一致【英文标题】:Inconsistent animation for UITableView contentInset 【发布时间】:2011-11-06 06:49:08 【问题描述】:谁能帮忙解决一个我不知道的动画问题。我在“拉动刷新”中实现了以下代码。
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
self.tableView.contentInset = UIEdgeInsetsMake(50, 0, 0, 0);
[UIView commitAnimations];
这个方法也在 viewDidAppear: 中被调用,这就是我的问题所在。在应用程序的初始加载时,它工作得很好。但是,当视图在弹出视图或关闭模式视图后出现时,它不会动画。我之前和之后都设置了断点,所以我知道它被调用了,但没有动画。我还尝试了其他动画来代替 contentInset,它们工作正常。最重要的是,如果我将内容插图更改为负数,它在初始加载时不起作用,但在所有其他情况下都可以正常工作(但显然是在相反的方向移动)。
非常感谢任何帮助
【问题讨论】:
【参考方案1】:所以,我列出的动画代码似乎仍然很奇怪,但至少我的目的是通过添加来实现
if (feedTableView.contentOffset.y < 100 && feedTableView.contentOffset.y >= 0)
[feedTableView setContentOffset:CGPointMake(0, -50) animated:YES];
到底部。这样,如果当视图出现时 tableView 当前接近顶部,则 contentInset 将更改为包含“正在加载”标题,然后 tableView 滚动到该标题的顶部。
【讨论】:
以上是关于UITableView contentInset 的动画不一致的主要内容,如果未能解决你的问题,请参考以下文章
UITableView 在 contentInset 之后不滚动
ContentInsets 不适用于 UITableView
UITableView 调整 contentinset 直到第一次滚动
iOS 7 中 UITableView 的 contentInset 规则?