2011-09-12 172 views
-3

我有一個UITableView。當我滑動(滑動)表格單元格時,我想要顯示一個刪除按鈕。然後,一旦我按下刪除按鈕,該行就會被刪除。當我按下刪除按鈕時如何刪除UITableView行?

我該如何做到這一點?有沒有人有關於這個iPhone功能的想法?

+1

Downvoted由於兩個原因:首先,您的問題的標題和正文似乎不要求相同的事情。其次,也是更重要的是,禮儀會讓你向我們展示你已經試過的東西,以及你卡在哪裏。通過這樣做,我們經常可以更清楚地瞭解您要達到的目標;這表明你已經努力了。請相應地編輯您的問題。 – stakx

+0

我只是一個tableview。當我觸摸tableview單元格時,它會將我推向新的Viewcontroller。現在在我的tableview單元格中有一個 cell.accessory符號,就像(>)。我想,當我UIControlEventTouchDragInside的accessoryType符號時,它會顯示一個附件按鈕(就像刪除按鈕)。當我按下刪除按鈕。它將從tableview中刪除該行。 –

回答

0

只需從您的模型中刪除相應的數據(可能是您的基於填充您的tableView的NSArray),在您的實施tableView:commitEditingStyle:forRowAtIndexPath:方法。然後調用[tableView reloadData]來要求tableview重新加載自己。


注:您還可以使用行插入/缺失動畫功能(參見文檔中關於deleteRowsAtIndexPaths:animation:),試圖管理該行的動畫,你首先需要知道如何刪除您的模型前 - 因爲他們總是需要同步,並且試圖玩弄deleteRowsAtIndexPaths:animations:,如果沒有先成功地從模型中刪除該行(不帶動畫),肯定會使您的應用程序拋出InconsistencyException異常。因此,請一步接一步,首先開始基本步驟,在嘗試進一步嘗試之前修改MVC的模型部分(您的NSArray保存數據)!

+0

我只是一個tableview。當我觸摸tableview單元格時,它會將我推向新的Viewcontroller。現在在我的tableview單元格中有一個cell.accessory符號,就像(>)。我想,當我UIControlEventTouchDragInside的accessoryType符號時,它會顯示一個附件按鈕(就像刪除按鈕)。當我按下刪除按鈕。它將從tableview中刪除該行。 我該怎麼做? –

+0

然後在這裏閱讀文檔和Apple編程指南,所有內容都詳細說明並附帶示例代碼:http://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/TableView_iPhone/ManageInsertDeleteRow/ManageInsertDeleteRow.html#//apple_ref/doc/uid/TP40007451-CH10-SW1 – AliSoftware

2
- (void)tableView:(UITableView *)tableView 
commitEditingStyle:(UITableViewCellEditingStyle)editingStyle 
forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if(editingStyle == UITableViewCellEditingStyleDelete) 
    { 
     [listArray removeObjectAtIndex:indexPath.row]; 
     [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationTop]; 
    } 
} 
+0

我只是一個tableview。當我觸摸tableview單元格時,它會將我推向新的Viewcontroller。現在在我的tableview單元格中有一個cell.accessory符號,就像(>)。我想,當我UIControlEventTouchDragInside的accessoryType符號時,它會顯示一個附件按鈕(就像刪除按鈕)。當我按下刪除按鈕。它將從tableview中刪除該行。 我該怎麼做? –

+0

如果您在顯示tableview的類文件中包含此方法,則可以看到刪除按鈕以刪除單元格 – Robin