5

ビューに aと aをUIViewController追加する aがあります。残念ながら、この例では a を使用できません。UITableViewUIToolbarUITableViewController

ビューコントローラーeditButtonItemをツールバーに追加しました。編集ボタンのデフォルトの動作を複製する必要がありますUITableViewController-編集ボタンはtableViewに関連付けられ、編集モードのオン/オフを切り替える必要があります。

をオーバーライドして、次UIViewControllersetEditing行を含めました。

[_tableView setEditing:editing animated:animated];

これはほとんどの場合機能しますeditButtonItem

ただし、少なくとも 1 つの問題があります。では、ユーザーがテーブルの行を横切ってスライドするUITableViewControllerと、編集ボタンが「完了」に切り替わります。「完了」は、その行を非編集バージョンに戻します。また、行の外側をタッチするとビュー モードに戻り、編集ボタンが [完了] に戻ります。

私の質問:

  1. 個々の行が編集モードに入ったり出たりしたときに [編集] ボタンの状態が変わるように、この動作を再現するにはどうすればよいですか?
  2. UITableViewControllerの他のどの動作editButtonItemを再現する必要があるでしょうか?
4

1 に答える 1

5

私は自分のアプリでそのようなケースを持っています。次のテーブルビューデリゲートメソッドを実装しました。

- (void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath {
    [self setEditing:YES animated:YES];
}

- (void)tableView:(UITableView *)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath {
    [self setEditing:NO animated:YES];
}
于 2012-10-15T15:21:47.520 に答える