2011-04-20 18 views
0

我通過提供xml輸入來獲取來自.net webserver的消息的圖像。當我們向表格視圖添加新行時,如何將平滑滾動添加到UITbaleview

這工作正常。

我發送每3秒的請求,如果有任何新的消息和圖像在那裏我只是將這些消息和圖像添加到數組並重新加載表視圖。

這也很好,但我需要的是,當我重新加載表視圖時,有新的消息,將通過平滑滾動現有的行顯示在表視圖上。

與twitter相同。

任何人都可以幫助我。

謝謝你提前。

回答

0

如果您知道新添加的行的indexPath,則可以使用下面的UITableView函數向上滾動到具有動畫(平滑效果)的新行。

- (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated 
+0

可以ü請張貼一些代碼 – Maheshbabu 2011-04-20 09:00:59

0

,而不是完全重裝表,你應該叫insertRowsAtIndexPaths:withRowAnimation:

第二個選項可以讓你指定你想要的動畫

(這也將大大超過有效每次重新載入所有數據)

您可以執行如下操作: (這會假設recievedImageFrom服務器將在數據已經被調用後調用用於數據源對象。另外,myDataSourceArray是爲表格存儲數據的數組,而myTableView是UITableView。

-(void)recievedImageFromServer 
{ 
    NSUInteger row = [myDataSourceArray count]-1; // This can also be set to 0 if you want 
               // to insert at the top of the table 

    NSIndexPath* newIndex = [NSIndexPath indexPathWithIndex:row]; 
    [myTableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndex] 
         withRowAnimation:UITableViewRowAnimationTop]; 
} 

然後它將從其數據源請求該單元。

+0

可以ü請張貼一些代碼。 – Maheshbabu 2011-04-20 09:00:18

+0

我沒有嘗試編譯此代碼,因爲此刻我不在Mac上,但我相信它應該可以工作。 – drewag 2011-04-20 14:06:17

相關問題