2012-05-26 234 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這意味着用戶將不得不滾動查看剛剛添加的鳴叫。