アプリ内で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 件のコメント:
コメントを投稿