Cordova iOS アプリで画面外にまでオーバースクロール (バウンド) しないようにする
iOS アプリの動きとして、コンテンツ領域外の上下にまでスクロールできる動きがある。この動作は 「オーバースクロール」とか「バウンド (バウンス)」という効果 (エフェクト) と呼ぶらしい。
- 参考 : PhoneGap remove view scrolling/bouncing on iOS | Rocking in the freelance world … 「オーバースクロール」とはどういう動作のことか、スクリーンショットがある。
この動作が「更新 (再読込)」の動作になっているアプリなんかもあったりするが、Web ベースで作る Cordova アプリだと、余計な背景が現れてしまい、固定ヘッダがズレこんだりして鬱陶しい限りだ。
そこで、Cordova プロジェクトで自動的に作られる config.xml
に以下を追加して、この「オーバースクロール (バウンド)」効果を無効にしてしまおう。
<preference name="DisallowOverscroll" value="true" />
これでオーバースクロール効果がなくなり、ページ最上部・最下部から先はスクロールしなくなる。
- 参考 : Config.xml - Apache Cordova
- 参考 : スマホの画面の上下端でビヨーンってスクロールしちゃうのは嫌だ - Qiita
- 参考 : PhoneGapで画面を固定化する | PROTO-STAR.com
- 参考 : javascript - Change the over scroll color in cordova iOS - Stack Overflow … オーバースクロールした領域の背景色を変える方法はないの?デフォルトのグレーが嫌なんだけど…という質問。回答なし…。