1

UITableViewのすべてのセルに、削除アクセサリと開示インジケータを常に表示したいと思います。

(この理由は、編集ボタンがない/必要ないためです)

ここに画像の説明を入力してください

これは5.1でこのコードで動作します:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath   *)indexPath
{
  //the usual code
      [self.tableView setEditing:YES animated:YES];
      cell.editingAccessoryType = UITableViewCellAccessoryDisclosureIndicator;

      return cell;
}

これは、iOS6.0で同じ動作を生成していません。行を追加すると、削除アクセサリなしで表示されます。興味深いことに、次にセル(didSelectRowAtIndexPathを実行)を選択すると、詳細ビ​​ューでキャンセルを押すことができ、削除アクセサリがテーブルセルに表示されます。

誰かがこの不一致を説明できますか?私はこれについてAppleのドキュメントで何も見つけることができません(あなたが私に何かを指摘することができれば、私は感謝するでしょう)。そもそもこのメソッドにコードを入れるべきではないでしょうか?ありがとう。

4

1 に答える 1

1

setEditing:animated:あなたの問題はあなたのテーブルビューを呼び出すことによって引き起こされていますcellForRowAtIndexPath:。で一度だけ呼び出す必要がありますviewDidLoad

于 2012-11-13T20:14:22.560 に答える