忍者ブログ

[PR]

2024年04月27日
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

各セルにアクセサリーを設定する

2009年01月19日
テーブルの各セルの右側には、アクセサリーと呼ばれるパーツを配置することができます。これを実現するのに使うのがaccessoryTypeForRowWithIndexPath:です。とりあえず例によって実際のコードから引っ張ってきましたので、まずはそれを見てみましょう。

- (UITableViewCellAccessoryType)tableView:(UITableView *)tableView accessoryTypeForRowWithIndexPath:(NSIndexPath *)indexPath

{

return (self.editing) ? UITableViewCellAccessoryDetailDisclosureButton :

UITableViewCellAccessoryDisclosureIndicator;

}

 
さて、このコードでは編集ボタンが押されて編集状態にあるか、そうでないかでアクセサリーを切り替えています。編集モードではディテールディスクロージャーボタンという、青丸に>記号が入ったようなボタンが表示されます。編集モードでない時はディスクロージャーインジケーターという、灰色の>が表示されます。ちなみにアクセサリーの種類は以下の4種類です。

UITableViewCellAccessoryNone:何も表示しません。
UITableViewCellAccessoryDisclosureIndicator:灰色の>を表示します。
UITableViewCellAccessoryDetailDisclosureButton:青丸に>記号が入ったボタンが表示されます。
UITableViewCellAccessoryCheckmark:チェックマークを表示します。

なお、以前の記事「前回起動時の選択項目にチェックマークを付ける」に書いたように、セルのプロパティ(accessoryType)を直接設定する方法もあります。この命令は初期設定用として、表示してからの動的な変更にaccessoryTypeを使うようにすると良いでしょう。

2009年11月7日追記
iPhone OS 3.0以降では上記のtableView:accessoryTypeForRowWithIndexPath:は使用できません。今のところは一応動きますが、ビルド時に警告が出るようになります。この場合はtableView:cellForRowAtIndexPath:内でUITableViewCellのプロパティaccessoryTypeとeditingAccessoryTypeを用いて通常及び編集時のアクセサリーを設定すると良いでしょう。

PR
Comment
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字
Trackback
トラックバックURL: