2011-06-23 46 views
0

我想從UITableView刪除UITableViewCell無法看到刪除按鈕時,Swing UITableViewCell

實施UITableViewDelegate,UITableViewDataSource到我的UIViewController

也實現了其需要定義上述委託這些都是像所有的方法,

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath; 
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath; 

設置的UITableView爲編輯模式也

[tableView setEditing:YES animated:YES]; 

當我點擊刪除按鈕來設置的tableView在編輯模式下,我可以看到' - '標誌的紅色按鈕,但是當我點擊該按鈕時無法看到「刪除」按鈕,也無法看到在單元格上滑動時的情況。

我通過stackoverflow所有帖子,但無法獲得解決方案。

在此先感謝。

回答

0

繼承人什麼,我用它來實現這一點:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{ 
    [myArray removeObjectAtIndex:indexPath.row]; 
    [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; 
} 
+0

我上述方法已經實現...如果如下面給出 (editingStyle == UITableViewCellEditingStyleDelete){// 刪除來自數據源的行[自deleteRowsAtIndexPath:indexPath]; //用於刪除行的方法[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationTop]; –

+0

但你永遠不會從數組中刪除對象?至少那就是它的樣子。我給你的代碼在一個正在開發的應用程序中完美工作,所以按照我使用它的方式嘗試。也許它也適用於你 –

+0

感謝您的答覆,但爲執行此功能應該出現「刪除」按鈕。一旦我點擊那個按鈕,這個函數就會被調用並刪除。但我的問題是我無法看到「刪除」按鈕。 –

2

我認爲你缺少的的tableView:editingStyleForRowAtIndexPath方法。嘗試將以下代碼添加到您的實現中。

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { 
    return UITableViewCellEditingStyleDelete; 
} 
0

請刪除

[tableView setEditing:YES animated:YES]; 

,只是用這種方法

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { 
    // Return YES if you want the specified item to be editable. 
    return YES; 
} 

和刪除按鈕 實施行動 - (空)的tableView:(UITableView的*)的tableView commitEditingStyle:

(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { 
//add action on delete button 
} 
0

此方法用於在滑動所選TableViewCell時顯示刪除按鈕。

  • (UITableViewCellEditingStyle)的tableView:(UITableView的*)的tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { }

該方法將同時滑動的TableViewCell

上輕敲的刪除按鈕執行操作
  • (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forR owAtIndexPath:(NSIndexPath *)indexPath { }

該方法刪除行形成表視圖 之後將更新的tableview - (無效)的tableView:(UITableView的*)的tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath { }