6

入力フィールド()を含むページを表示するUIWebViewがあります。

ユーザーがフィールドにタッチしてデータを入力すると、UIWebViewが上下にスクロールされ、フィールドがユーザーに表示されたままになります。まぁ、いいよ。

上にスクロールしてもかまいませんが(フォームの下にあるものはすべてキーボードで非表示になっているため)、ビューが左にスクロールされないようにしたいと思います。

この動作を防ぐ方法(htmlページのヘッダーまたはiOSコード)はありますか?

ありがとう

4

3 に答える 3

2

美しくはないが効果的:

webViewをまったくスクロールさせたくない場合は、UIWebViewのUIScrollViewDelegateを実装し、scrollViewDidScrollでcontentOffsetを0に設定できます。

aWebView.scrollView.delegate = self

func scrollViewDidScroll(scrollView: UIScrollView) {
    scrollView.contentOffset = CGPointMake(0, 0)
}
于 2015-08-17T18:37:42.460 に答える
1

スクロールを完全に防ぐ方法はわかりませんが、少しのジッターを気にしない場合は、次のハンドラーを入力フィールドに追加できます。

onfocus="setTimeout('window.scroll(0,0)',100)"
于 2012-04-24T19:43:18.753 に答える
0

まず、を使用してキーボードの表示をキャプチャする必要がありますUIKeyboardWillShowNotification

次に、(UIWebviewの)UIScrollViewのcontentSize幅を画面幅に制限します。これにより、画面が水平方向にスクロールしないようになります。

于 2012-04-24T18:09:49.297 に答える