2011年5月24日火曜日

UIWebViewのバウンスアニメを無効にする要点だけ

アプリ内でUIWebViewを使うときに困るのが、タッチ操作でスクロールできてしまうこと。
ネイティブUIにUIWebViewが入りこんでいることが分かって、UIの統一性が失われてしまう。

WebViewがドラッグ動作で範囲外までスクロールできる「バウンス動作」が無効にできれば良さそうだけど、、ということで調べたら、出てきたのでメモ。

http://stackoverflow.com/questions/500761/stop-uiwebview-from-bouncing-vertically
for (id subview in webView.subviews)
  if ([[subview class] isSubclassOfClass: [UIScrollView class]])
    ((UIScrollView *)subview).bounces = NO;

要はUIWebViewsのsubViewsで取りだした子要素の一覧からUIScrollViewのインスタンスを取り出し、
それのbouncesプロパティを無効にする。これがうまくスクロールをdisableにできれば、気兼ねなくネイティブUIとのハイブリッドが採用できそう。

まだ実際には試してないけど後で試してみる予定。

0 件のコメント:

コメントを投稿