鈴木商店のJavaScripter、KENです。
ionic
でハイブリッドアプリを作っていると、iosで左から右へスワイプしたときに意図せずに画面が戻ってしまうことがあります。これは標準でcan-swipe-back
オプションがONになっているからです。
誤爆を誘発するので結構これってありがたくない機能だったりします。できればOFFにしたい。ion-view
directiveにはcan-swipe-back
のattributeがあるので、
1 2 3 |
<ion-view can-swipe-back="false"> </ion-view> |
と書けばその画面で無効にすることができます。公式ドキュメントにも記載されています。
ただ、これを全部の画面でいちいち書くのは面倒くさいので、アプリケーション立ち上げ時にangular.config
で$ionicConfigProvider
を使うことで全部OFFにできます。
1 2 3 4 5 6 |
angular.module('myApp', ['ionic']) .config(function($ionicConfigProvider) { // これで「スワイプで戻る」は常にOFF! $ionicConfigProvider.views.swipeBackEnabled(false); }); |
ちなみにios
のデフォルト設定が↓のようになっているのが元凶。
1 2 3 4 5 6 7 8 |
views: { maxCache: 10, forwardCache: false, transition: 'ios', swipeBackEnabled: true, // ←これ swipeBackHitWidth: 45 }, |
残念ながらこれは公式ドキュメントにも書かれていない方法なので、執筆時点の1.2.4
以降で使えなくなる可能性がありますが、とりあえずは楽に実現したいのでこれでOKかと!