鈴木商店の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かと!
