2012-04-10 212 views
0

我見過很多關於在tableview中添加和刪除單元格的文章。我想要的是,當用戶單擊單元格中的添加按鈕時,它必須詢問用戶在該單元格中輸入文本的內容,然後用戶在單元格中輸入文本,然後將其添加到tableview中。任何人都可以告訴我如何做到這一點?動態添加新的tableview單元格

+0

我不認爲我理解工作流程。你說「用戶點擊單元格中的添加按鈕」,並且「然後它被添加到tableview中」,但是,如果有一個包含按鈕的單元格,它必須已經在表格中。 – 2012-04-10 12:25:47

+0

是的。添加按鈕已經存在於默認文本的單元格中。當用戶點擊添加按鈕時,用戶必須能夠編輯該特定單元格中的文本。當用戶在該單元格中輸入文本後,必須添加另一個單元格並添加按鈕並且具有默認文本。 – 2012-04-10 12:38:10

回答

1

我會將添加按鈕放在頁腳或頁眉中,而不是在單元格中,我個人認爲管理單元格的添加會更容易。

從這個

除此之外,不知道你到底是什麼問題,如果你讓你的控制器uitable委託,那麼你可以輕鬆地添加或通過訪問所有相關的方法去除細胞,特別是那一句:

- (void)tableView:(UITableView *)aTableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { 
    if (editingStyle == UITableViewCellEditingStyleInsert) { 
     // ...... 
    } 
} 

其由稱爲:

[yourTableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath ] withRowAnimation:UITableViewRowAnimationAutomatic]; 
0

有像(UITableViewCell *) createNewCellForTableView的方法。這將創建並返回UITableViewCell。

在您的CellForRowAtIndexPath中使用此方法爲您的tableView創建所有單元格。這需要這樣做,因爲當您執行[tableView reloadData];時,需要在每次添加新單元格時創建新的單元格。

最後,在創建新單元格後,在ADD按鈕的IBAction中,確保重新加載tableView。

〜一個簡單的選擇:

既然你只是爲用戶添加文本,您可以嵌入的UITableViewCell一個textField。只要用戶輸入完畢,就可以將文本添加到dataSource(該數組填入tableView)並重新加載tableView。確保你有你想要的textField enableddisabled

0

我這是怎麼做到這一點,它的工作原理:

第一,創建一個實例變量,如下所示:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ 
    return numRows; 
} 

現在:

int numRows = 0; 

如下實施方法numberOfRowsInSection我的應用程序,在一個地方,我使用REST API並獲得JSON,我將numRows的值更新爲numRows = [jsondata count];

如果您有動態內容,請根據需要編寫您的方法cellForRowAtIndexPath。例如在我的情況下,我使用indexPath.row並準備單元格並將其返回。

這種方法只會調用當變量是numRows行大於0所以只要你有你的動態內容,如我上面所解釋的更新的numRows行的內容,並立即調用該方法[YourtableView reloadData];


相關問題