Ios 暂停UIScrollView';触摸时会滚动

Ios 暂停UIScrollView';触摸时会滚动,ios,uitableview,uiscrollview,scroll,Ios,Uitableview,Uiscrollview,Scroll,我有一个UIScrollView,它是一个根据特定搜索词快速更新的Twitter流。每秒处理大量tweet。我希望用户能够触摸表视图上的任何位置,并在添加新tweet时停止滚动,以便用户可以停止并阅读单个tweet 目前,我正在添加如下推文: [self.tweets insertObject:model atIndex:0]; [self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPa

我有一个UIScrollView,它是一个根据特定搜索词快速更新的Twitter流。每秒处理大量tweet。我希望用户能够触摸表视图上的任何位置,并在添加新tweet时停止滚动,以便用户可以停止并阅读单个tweet

目前,我正在添加如下推文:

[self.tweets insertObject:model atIndex:0];
[self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:0]] withRowAnimation:UITableViewRowAnimationTop];

添加tweet时,滚动视图的位置被锁定,因此整个视图向下移动以适应tweet。以如此快的速度,这使得屏幕上的推特以难以辨认的速度放大。理想情况下,我希望这样做,如果与TableView有接触(通过覆盖它的UIButton完成),那么滚动定位将锁定到视图中的该行。最好的方法是什么?

每次添加tweet时,通过更改表格视图的滚动位置来考虑其高度。为此,请使用
setContentOffset:animated:
。使用
NO
作为
animated
参数,立即进行更改,并传递与tweet高度相关的
CGPoint
。因此,如果tweet的高度为50,请执行以下操作:

[tableView setContentOffset:CGPointMake(tableView.contentOffset.x, tableView.contentOffset.y -50) animated:NO];

这会将表格视图向上滚动50,这意味着用户必须滚动才能查看刚刚添加的tweet。

如果滚动视图被锁定,tweet如何缩放?因为它们是从顶部添加到视图的,这会改变其下方每个tweet的垂直位置。