2010年8月9日月曜日

UITableView - 編集モードで左側のアイコンを消す

UITableView を編集モードにした時に左側に削除用のアイコンが表示される。

これを消すには UITableViewDelegate を使う。
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView
 editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
 return UITableViewCellEditingStyleNone;
}
- (BOOL)tableView:(UITableView *)tableView
  shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
 return NO;
}

アイコンを消す(UITableViewCellEditingStyleNone)と共に、インデントしない設定を行っている。

するとこうなる。わかりずらいが編集モードに入ってもアイコンが非表示でインデントも起こらない。

- - - -
UITableView の editing プロパティを変更すると自動的にその上の UITableViewCell にも反映されるので、編集用のユーザインターフェイスを自前で作る時にも editing が使えると便利。その場合に既存の動作を隠す方法が今回の内容。

0 件のコメント:

コメントを投稿