2012-03-01 13 views
3

私は編集可能なtableViewを持っています。 bar buttonをクリックすると、テーブルが編集可能になります(deleteボタンが各cellの前に表示されます)。スライドをテーブルからレコードを削除するには

cellもスライドさせると、削除ボタンが表示されます。私はcelldeleteのレコードにスライドするときに実行されるメソッドを知る必要がありますそのcellのレコード。

ユーザーがセルをスライドさせたときにEditbarbuttondoneに変更したいと考えています。だから私はこれをプログラマチックに行うことができます。

申し訳ありません。デモのコードはありません。

+0

あなたはリンゴのcoredatarecipesを見ましたか? – Bot

+0

はい、これは私が見つけた最も複雑なプロジェクトの例の1つです。 (私が初心者かもしれないので) – Illep

答えて

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 
    } 

} 

} 

をクリックしたときに呼び出されるDataSourceメソッドです。

0
あなたはUITableViewCellの

  • (無効)didTransitionToStateとして表示され、削除ボタンに対応することができ

    :(UITableViewCellStateMask)状態{

    場合(状態== UITableViewCellStateShowingDeleteConfirmationMask) "@ { のNSLog(我々 「削除ボタンを表示しています」); }}

ここでは、クラスの参照へのリンクがあります:

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

は、この情報がお役に立てば幸いです。

+0

私はすでに上記の方法を使用しています。しかし、私は、どこに「完了」と書かれているバーボタンを追加すべきかわからない。私は 'commitEditingStyle'の中に追加するべきですか?ユーザーが削除ボタンをタップすると、if(editingStyle == UITableViewCellEditingStyleDelete)内の – Illep

+0

が発生します。なぜあなたのユーザーのために別のステップを作りたいと思うのかよく分かりません。あなたが自動的に持っているビューを却下するほうが良いでしょう。 – Jamie

+0

iPhoneの「電話」アプリでは、連絡先の電話番号を削除しようとしているときにこの問題が発生します。削除するセルを「スライド」するか、「削除バー」ボタンをクリックします。 – Illep

関連する問題