ステータスバーをタップ時に UITableView をトップに戻す : Objective-C プログラミング
PROGRAM
ステータスバーをタップ時に UITableView をトップに戻す
iPhone や iPad では、一番上のステータスバーをタップすると、表示されている UITableView をいちばん上まで自動的にスクロールしてくれる機能が備わっています。
既定ではこの機能が ON になっているので、意図的に無効にしているアプリでなければ利用できます。
この機能の有効・無効を切り替えたい場合には、UITableView の "scrollsToTop" プロパティを調整します。
// ステータスバーをタップした時の自動スクロールを無効にしています。
self.tableView.scrollsToTop = NO;
"scrollsToTop" プロパティに NO を設定すると、ステータスバーがタップされても、その UITableView が自動的にスクロールされることはなくなります。
ちなみに View 上に複数の UITableView が配置されている場合、どうやらタップしたその下にある UITableView がスクロールされる対象になるようでした。
インターネット上には、複数の UITableView がある場合には、そのうちの一つだけが scrollsToTop = YES になっている場合にのみ、ステータスバーのタップでそれが自動スクロールされるようになるとの情報もありましたけど、少なくとも自分が試した感じでは、複数の UITableView の scrollsToTop が YES になっていても動作するような感じです。
たとえば実際に、複数の UITableView を縦一列に並べてまでは試していないのですけど、とりあえず iPad で UITableView を横 1 列に 3 つ並べて試してみたところ、ステータスバーをタップすると、その下に位置する UITableView がトップまで自動スクロールされました。
[ もどる ]