2012-05-26 117 views
0

我有一个UIScrollView是一个快速更新Twitter流跟随某个搜索词。每秒处理大量推文。我希望用户能够触摸桌面视图的任何位置,并在添加新推文时停止滚动,以便用户可以停止并阅读单个推文。暂停UIScrollView的滚动时触摸

目前,我加入微博,像这样:

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

当添加鸣叫,滚动视图的位置被锁定,因为这样整个视图下移,以适应鸣叫。以这样快的速度,这使得屏幕上的推文变得模糊不清。理想情况下,我想这样做,如果与TableView有联系(由覆盖它的UIButton完成),则滚动定位将锁定到视图中的那一行。什么是最好的方法来解决这个问题?

+0

如果滚动视图被锁定,推文如何放大? – Barjavel

+0

因为它们被添加到顶部的视图中,它改变了它下面每个推文的垂直位置。 –

回答

0

每次添加推文时,都会通过更改表格视图的滚动位置来改变其高度。要做到这一点使用setContentOffset:animated:。使用NO作为animated参数,以便立即更改并通过与推文高度相关的CGPoint。因此,如果鸣叫有50的高度,然后做一些事情,如:

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

这将滚动表查看多达50这意味着用户将不得不滚动查看刚刚添加的鸣叫。