UITableView

AndroidにしろWindows Phone 7にしろ、配列やリストなどに格納された情報を一覧として表示するためのビューが用意されている。いずれもListBoxとかLitView等と"List"という名前が付いたビューだが、iOSはUITableViewクラスがそれに相当する。

このUITableViewだが、非常に作りこまれているという印象だ。iOSプログラミング 第2版の11章以降に登場する例を用いて少しだけ紹介する。

EditingMode

いわゆる「編集モード」に入ることで、UITableViewは勝手に以下のように行の左右にアイコンが配された状態で描画される。

左側のは削除モードに入るためのアイコンであり、右端のは行を並べ替えるのに使うアイコンである。

行の並替

右端のをロングタップすると行が浮き、上下にドラッグすることができるようになる。
=>
これで行を並べ替えることができる。

行の削除

左端のをタップすると、アイコンがくるっと回り右端行にはボタンが表示される。このボタンをタップすることでアニメーションと共に行がテーブルから取り除かれる。
=>
削除ボタンをタップすると行が取り除かれる。


ここまでの操作で必要な処理は全てデリゲート(delegate)で公開されており、使用する側はデリゲートを実装してビューで表示、編集するデータをビューに提示してやるだけで良い。ビューそのものの処理(描画やサブビューの生成や制御)は全てビュー側が実施しており、このために書くコードは一切無いことが凄いところだが、Viewそのものの実装が複雑になるであろうことは容易に想像がつく。