UIScrollViewのscrollsToTopがYESになっている場合、
StatusBarをタップすると上までスクロールするが、
subViewとして、scrollsToTopがYESになっている別のUIScrollViewサブクラスが含まれているとうまく動かない。
scrollsToTopはデフォルトでYESなので注意が必要。
注意するクラス
- UIWebView
- UITextView
- UITableView
UIWebViewはUIScrollViewのサブクラスではないが、内部でsubViewとしてUIScrollViewを持っている。
内部でUIScrollViewを持っている場合の対処
for (UIView *view in view.subviews) {
if ([view isKindOfClass:[UIScrollView class]]) {
[(UIScrollView *)view setScrollsToTop:NO];
}
}
※追記
WebViewなら以下のようにできます。
webView.scrollView.scrollsToTop = NO;
viewの階層構造をチェック
どうしても、どのviewが原因か分からない場合は、非公開メソッドを使ってviewの階層構造を出力できる。
そのまま審査提出するとリジェクトされるので注意
[view performSelector:@selector(recursiveDescription)];