當我們滾動到UITableView的最後一個單元格時,我想在UITableview中添加數據或單元格。換句話說,正如我們在許多iPhone應用程序中看到的那樣,當我們到達UITableview的最後一個單元格時,在運行時會添加更多的單元格。我想在我的項目中實現該功能。如何在運行時在UITableview中添加數據?
方法當我們到達之前添加的最後一個單元格時,向UITableview添加更多單元格。
請告訴我示例代碼或任何教程。
當我們滾動到UITableView的最後一個單元格時,我想在UITableview中添加數據或單元格。換句話說,正如我們在許多iPhone應用程序中看到的那樣,當我們到達UITableview的最後一個單元格時,在運行時會添加更多的單元格。我想在我的項目中實現該功能。如何在運行時在UITableview中添加數據?
方法當我們到達之前添加的最後一個單元格時,向UITableview添加更多單元格。
請告訴我示例代碼或任何教程。
我認爲這裏有2個問題。 一,如何檢測tableVeiw的結束?其次,如何動態添加細胞? 第一個問題,我認爲可以通過觀察scrollView的內容偏移值或tableView單元格的當前indexPath來完成。通過以下UIScrollViewDelegate方法可以觀察到scrollView的內容偏移量。內容偏移量是scrollView的一個屬性。
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat currentOffset = scrollView.contentOffset;
// Detect scrolling to bottom by this offset value.
....
}
單元格的索引可以通過UITableViewDataSource的方法來決定。
- (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath
第二個問題可能會被UITableView
的方法所淹沒。
我記得示例代碼在this official document將教會如何使用上述方法。它們不會重新裝載所有單元,但不小心的操作會輕易導致崩潰。
通過使用數組填充tableView(正如您應該始終這樣做)。當委託方法cellForRowAtIndexPath
要求您輸入最後一個單元格時,請使用新的(更多)數據重新填充陣列,並製作[tableView reloadData]
。
但它會重新加載所有表格數據。我想將數據添加到UITableView –
中以前存儲的數據中,這會導致這種情況。如果您使用mutableArray存儲tableView內容,只需將新數據添加到它。當你調用[tableView reloadData]時,它會簡單地認識到現在有更多的數據可用,並且會添加額外的單元格。 – yinkou
你只是想在表中添加數據?
然後,首先您可能需要添加一個視圖,模態視圖。你應該寫一些關於你想在這個視圖中添加的規範。
接下來將消息發送到現有的數據陣列(假定您使用陣列)
[ExistingArrayData addObject:TemporalilyNewObject];
而且可以通過使用NSSortDescriptor
對數據進行排序。
NSSortDescriptor *nameSorter = [[NSSortDescriptor alloc] initWithKey:KEY_VALUE ascending:YES selector:@selector(caseInsensitiveCompare:)];
[ExistingArrayData sortUsingDescriptors:[NSArray arrayWithObject:nameSorter]];
在這種情況下,此方法按照KEY_VALUE按升序排序數據。
最後,你需要在RootView的viewWillAppear方法中添加這段代碼。
[self.tableView reloadData];
此代碼通知應用程序的數據更改。
不,我想在到達表格的最後一個單元格時添加數據 –
爲什麼要在到達最後一個單元格時添加數據?不是通過點擊'+'按鈕? – manutd
如果您有存儲在陣列數據,那麼你就一定有你想要多少細胞計數。 使用下面的代碼對你的幫助
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ return [array count];}
我相信這會幫助你。
但是我想添加更多的數據,這是從網絡調用,當用戶到達tableview的最後一個單元 –
好吧。所以你知道你最後一個細胞的數量。我的意思是最初你有多少個單元在viewWillAppear中 –
-(void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
int i=0;
i=indexPath.row;
int count=[urTablearray count];
if (count == (++i)) {
//do ur stuff here
here add object to urTablearray
[urTablearray addObject:@"vijay"];
}
}
注:urTablearray是NSMutableArray的類型不是NSArray的
相同的功能一直跟着蘋果tableviewcell.already one.so只是用它來實現。 –
我知道如何在UITableview中顯示數據。我想在用戶到達最後一個單元格時添加數據。意味着當用戶到達最後一個單元時,將更多的單元格和數據添加到它中。 –