2010年10月10日日曜日

UITableViewを並べて横スクロールしてみる

3つの UITableViewを UIScrollView に載せてフリックで横スクロールするユーザインターフェイスを試してみた。

サンプル



横にフリックすると

スクロールして 隣の UITableView へ移る。


実装


現在作成中の簡易スライドショーの実装をベースにして基本的には UIImageView を UITableView に切り替えただけ。
Cocoaの日々: 簡易スライドビューア [1]基本動作
ただ UITableViewの数は3つ固定としてある。また UITableView内のデータも固定の値。

イメージはこんな感じ。


詳細はソースコードを参考のこと。



ソースコード


GitHubからどうぞ。
HorizontalScrollableUITableView at 2010-10-10 from xcatsan's iOS-Sample-Code - GitHub


考察


実機で確認すると意外と使いづらいことがわかった。親指を使ったフリックの方向は真横ではなく実際は斜めになるため、先にUITableViewの縦スクロールが発生してしまうことがしばしば起こる。このままだと横スクロールをしたいのに縦スクロールしてしまい非常にもどかしい思いをする(イライラする)。このあたりは、横のフリック量が一定以上発生する場合は、UITableView標準の縦スクロールを禁止もしくは制動するような調整が必要だと思った。

また UITableView を横に並べるアイディアはみんな考えているようで、ネットで探すといくつか見つかる。ただいろいろなところで指摘されているのは、UITableView の横フリックはレコード削除操作に割り当てられているので、横スクロールしてしまうと標準から逸脱してしまうこと。この点はユーザにとって使いやすいといえるかどうか、心にひっかかる。

そういうわけで、この UI がアプリで使えるかどうかは今のところ微妙。縦スクロール抑制は時間があれば試してみたい。


参考情報


Cocoaの日々: UIScrollView - ページスクロールで空白を挟む
UITableViewの間に挟んである黒い空白を入れる方法。

x
x

x

0 件のコメント:

コメントを投稿