2011-09-12 8 views
0

私はUItableviewを持っています。すべてのセルにはセルの右側にaccessoryTypeシンボル(>)があり、テーブルビューセルに触れると新しいViewControllerが表示されます。それは簡単です。accessoryType削除ボタンを押したときにUITableViewセルを削除するにはどうすればいいですか?

今、問題は、テーブルビューのセルに、accessoryTypeシンボルをTouchDragInsideに置くと、アクセサリボタンが表示されます(削除ボタンと同じです)。私が削除ボタンを押すと。それは、テーブルビューからセルを削除します。

答えて

1

あなたは

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

} 

//はテーブルビューの編集をサポートするためにオーバーライドします。これらの2つのデリゲートを実装する必要があります。

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath 
{  
    if (editingStyle == UITableViewCellEditingStyleDelete) 
    { 
    NSArray *objects = [NSArray arrayWithObjects:indexPath, nil]; 
     [tableView deleteRowsAtIndexPaths:objects withRowAnimation:UITableViewRowAnimationRight]; 
    } 
} 

これはあなたのために働くことを願っていますが...

+0

この2つのテーブルビューのデリゲート関数が呼び出されません。なぜこれが起こっているのか分かりません。この2つのデリゲート関数がなぜ呼び出されないのかの考え。 –

関連する問題