2011-01-12 11 views
0

私はコアデータ/ uitableviewベースのアプリケーションを持っています。現時点でのコードの80%は、AppleサンプルアプリケーションのCoreDataRecipesと同じです。私の問題は、編集モードに入るとき(編集ボタンを押すことによって)、行の左側に「バッジの削除」がないことです。バンパー。UITableview編集モード中に左の削除アイコンが表示されない

alt text

CoreDataRecipesとコードの違い:

  1. 私は のnibファイルの代わりに、コードだけでカスタムUITabelviewセルを持っています。
  2. 私のテーブルビューは、私のクラスビュー内のアウトレットです。

    • テーブルビューが正常に動作します:だから私のクラス RecipeListTableViewControllerは、私が試したどのような代わりのUITableViewController

の のUIViewControllerテーブルビューとの代表者です。

  • 実際にテーブル が編集モードに入るかどうかを確認しました。します。 「追加」ボタン が無効になっているため、 が表示されます。
  • 編集スタイルが正常かどうかを確認しました。それは私が追加を確認するが、デフォルトでは次のようになります。

    (UITableViewCellEditingStyle)のtableView:(のUITableView *)tableVieweditingStyleForRowAtIndexPath(NSIndexPath *)indexPath {UITableViewCellEditingStyleDeleteを返す;}

  • 場合、削除アイコンがないの背後に私がチェック私のセルビュー。存在しません。私は今、右に動く細胞の行動がiOSによって処理されると考えています。

  • セルをスワイプすると、右の削除ボタンが表示され、正しく動作します。
  • 私はlayoutSubviewsで自分自身の動作を構築しようとしました。編集モードに入るときに何も変わらなかった。私はスワイプするときしかし、今私は一列に私のサブビューを参照してください。
  • alt text

    誰でも任意のアイデア?それは単純なものでなければなりません。

    答えて

    3

    をこれがYES返すように設定されていない場合は、バッジが有効になりません

    - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath 
    { 
    
        return YES; 
    } 
    

    ていることを確認してください。デフォルトはNO

    +0

    これは即時にtrueになります – Gerald

    1

    私はあなたがそれを設定することで、[編集]ボタンを

    てみ]をクリックの上にライン tableView.editing=YESを追加していないと思います!

    +0

    アプリがクラッシュ " + entityForName:エンティティ名のNSManagedObjectModelを見つけることができませんでした...しかし、これはすでに編集ボタンで動作すると思います。私はself.navigationItem.leftBarButtonItem = self.editButtonItemを使用します。 – Chrizzz

    +0

    ちょっと仲間...あなたはトラックから外出しています。あなたが投稿した質問は、Coredataとは関係がありません。 – iPhoneDev

    1

    あなたはUIViewControllerなので、tableviewはsetEditing呼び出しを取得しません。ただ、追加:

    - (void)setEditing:(BOOL)editing animated:(BOOL)animated { 
        [super setEditing:editing animated:animated]; 
        [self.tv setEditing:editing animated:YES]; 
    } 
    
    0

    はあなたが設定していることを確認していない返すように設定されているコンセント/デリゲート/データソース これら:キャッチされない例外により「NSInternalInconsistencyException」、理由に終了アプリ:と

    -(void)editButtonTapped 
    { 
        [self.tableView setEditing:YES animated:YES]; 
    } 
    
    
    
    -(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath 
    { 
        return YES; 
    } 
    
    -(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath 
    { 
        return UITableViewCellEditingStyleDelete; 
    } 
    
    関連する問題