UIScrollView 系のビューが2つ以上存在するとき、ステータスバーをタップして一気に先頭にスクロールする機能を有効にするには、先頭にスクロールする機能を有効にしたいスクロールビューのみ scrollsToTop プロパティを YES にし、それ以外のスクロールビューは scrollsToTop を NO にします。
要するに scrollsToTop が YES のスクロールビューが1つだけの場合に、ステータスバーをタップする機能が働きます。
UIScrollView と UITextView を2つ使う場合の例です。
テキストビューの scrollsToTop プロパティを NO にしているので、ステータスバーをタップしたときはテーブルビューが先頭にスクロールします。
tableView = [[UITableView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 160.0f, 460.0f)]; tableView.delegate = self; tableView.dataSource = self; [self.view addSubview:scrollView]; [tableView release]; textView = [[UITextView alloc] initWithFrame:CGRectMake(160.0f, 0.0f, 160.0f, 460.0f)]; textView.scrollsToTop = NO; [self.view addSubview:textView]; [textView release];
UIWebView は上記のクラスと違って UIScrollView を継承しているわけではないので、ちょっと面倒ですが下記のような感じになります。
もちろん、将来のバージョンで変わる可能性があります。
[[webView.subviews objectAtIndex:0] setScrollsToTop:YES];