フォーム フィールド間を移動するときの自動スクロールを含め、すべてのスクロールを無効にしたい場合、設定webView.scrollView.scrollEnabled=NO
がすべてをカバーするわけではありません。これにより、通常のタップ アンド ドラッグ スクロールは停止しますが、Web フォーム内を移動するときの自動フィールド イントゥ ビュー スクロールは停止しません。
また、 を監視すると、キーボードが表示されたときにUIKeyboardWillShowNotification
スクロールを防ぐことができますが、別のフォーム フィールドを編集するためにキーボードが既に起動している場合は何もしません。
3 つの簡単な手順ですべてのスクロールを防止する方法を次に示します。
1) UIWebView を作成したら、通常のスクロールを無効にします。
myWebView.scrollView.scrollEnabled = NO;
2) 次に、ビュー コントローラーを scrollView のデリゲートとして登録します。
myWebView.scrollView.delegate = self;
(そして、コンパイラの警告を防ぐために、必ず<UIScrollViewDelegate>
クラスの定義に追加してください)@interface
3) すべてのスクロール イベントをキャプチャして元に戻します。
// UIScrollViewDelegate method
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
scrollView.bounds = myWebView.bounds;
}