2012-03-01 27 views
3

我有一個可編輯的tableView。當我點擊bar button表格變得可編輯時(delete按鈕將出現在每個cell的前面)。幻燈片刪除表中的記錄查看

當我還在tableview中滑動cell時,會顯示刪除按鈕。我需要知道當我滑動到celldeletecell的記錄時得到執行的方法。

我希望在用戶滑動單元格時將Editbarbutton更改爲done。那麼我怎樣才能做到這一點編程。

對不起,我沒有任何代碼可以演示。

+0

你看過蘋果coredatarecipes嗎? – Bot 2012-03-01 00:55:33

+0

是的,這是我找到的最複雜的項目示例之一。 (可能是因爲我是初學者) – Illep 2012-03-01 01:01:05

回答

2

這是你需要在viewDidLoad新增加編輯按鈕,它被轉化爲完成當你觸摸它的行。

self.navigationItem.leftBarButtonItem = self.editButtonItem; 

這是editButtonItem說明: 返回切換其編輯和完成之間的標題和相關的狀態欄按鈕的項目。

這是數據源的方法,當你點擊Edit

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { 

if (editingStyle == UITableViewCellEditingStyleDelete) 
{ 

    // Delete code goes here. This is from Core data sample code to delete record. You can implement your own code here. 

    NSManagedObjectContext *context = [fetchedResultsController managedObjectContext]; 
    [context deleteObject:[fetchedResultsController objectAtIndexPath:indexPath]]; 

    NSError *error; 
    if (![context save:&error]) { 
     // Update to handle the error appropriately. 
     NSLog(@"Unresolved error %@, %@", error, [error userInfo]); 
     exit(-1); // Fail 
    } 

} 

} 

我希望這有助於它被調用。

0

您可以到顯示爲一個UITableViewCell

  • (無效)didTransitionToState刪除按鈕響應:(UITableViewCellStateMask)狀態{

    如果(狀態== UITableViewCellStateShowingDeleteConfirmationMask){ 的NSLog(@「我們'顯示刪除按鈕「); }}

這裏的鏈接的類參考:

https://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewCell_Class/Reference/Reference.html

希望這有助於。

+0

我已經在使用上述方法。但我不知道應該在哪裏添加說'完成'的barbutton。我應該在'commitEditingStyle'中添加它嗎? – Illep 2012-03-01 01:02:38

+0

裏面的if(editingStyle == UITableViewCellEditingStyleDelete)發生在用戶點擊刪除按鈕時。我不太清楚爲什麼你想爲你的用戶創建另一個步驟。最好自動解除視圖。 – Jamie 2012-03-01 01:06:00

+0

在iPhone的'電話'應用程序,這是你試圖刪除一些聯繫人時的風險。你可以「滑動」一個單元格來刪除或單擊「刪除條」按鈕。 – Illep 2012-03-01 01:13:38