有没有办法取消动画UITableView / UIScrollView setContentOffset:动画:?

时间:2009-12-14 02:20:50

标签: iphone uitableview uiscrollview

我的应用在我的UITableView动画播放时崩溃了。只要动画完成,应用程序就可以正常运行。以下是点按UIButton后调用[tableView setContentOffset:offset animated:YES];然后快速点击backBarButtonItem点击UITableViewController的结果:

#0  0x31ec3ebc in objc_msgSend
#1  0x33690248 in -[UIScrollView(UIScrollViewInternal) _scrollViewAnimationEnded]
#2  0x30defa14 in -[NSObject performSelector:withObject:]
#3  0x33690098 in -[UIAnimator stopAnimation:]
#4  0x3368fb7c in -[UIAnimator(Static) _advance:]
...

我从来没有见过_scrollViewAnimationEnded的崩溃,显然谷歌也没有。我尝试使用[tableView setContentOffset:offset animated:NO];的{​​{1}}方法调用UITableViewController,但这并没有解决问题。

有关在动画中停止- (void)viewWillDisappear:(BOOL)animatedUITableView的任何想法吗?

3 个答案:

答案 0 :(得分:28)

这看起来可能是委托问题。你是否拥有该表的委托,如果是,那么当表是dealloc'd时?在释放之前尝试将tableView的委托取出。

[tableView由CoreAnimation保留,同时它是动画,所以这可能不是问题。]

答案 1 :(得分:1)

我认为你的问题是你在发布tableView之前发布了数据源数组。尝试在dealloc中检查这个

答案 2 :(得分:0)

如果您将刷新控制器作为子视图插入到表视图中(我的提示,从不这样做),可能会发生这种情况......