如何在 ionic 中禁用 IOS 平台的滑动效果

how to disable swipe effect of IOS platform in ionic

我是 Ionic 新手。我正在使用离子空白模板创建一个 phonegap 应用程序。 当我在我的应用程序的第二页上从左向右滑动时,出现黑屏。我不知道从哪里 comes.I 不能回到以前 page.I 需要终止应用程序才能解决这个问题。 以下是滑动前后的代码:

之前:

<ion-nav-view nav-view-transition="ios" nav-view-direction="forward" class="view-container disable-user-behavior" nav-swipe="">
<ion-pane class="pane" nav-view="active" style="opacity: 1; box-shadow: rgba(0, 0, 0, 0) 0px 0px 10px; -webkit-transform: translate3d(0%, 0px, 0px);">
<form name="memberInfo" ng-submit="saveMemberInfo(data)" class="ng-pristine ng-valid">
......
</ion-pane>
</ion-nav-view>

之后:

<ion-nav-view nav-view-transition="ios" nav-view-direction="back" class="view-container disable-user-behavior" nav-swipe=""><ion-pane class="pane" nav-view="active" style="opacity: 1; box-shadow: rgba(0, 0, 0, 0.298039) 0px 0px 10px; -webkit-transform: translate3d(0%, 0px, 0px); -webkit-transition: 0ms; transition: 0ms;">
<form name="memberInfo" ng-submit="saveMemberInfo(data)" class="ng-pristine ng-valid">
........
</ion-pane><div class="pane" nav-view="cached" style="opacity: 0.9; -webkit-transform: translate3d(-33%, 0px, 0px); -webkit-transition: 0ms; transition: 0ms;"></div></ion-nav-view>

此问题仅出现在 ios。

有人知道这个问题是怎么来的吗?

根据 Ionic forum,只需在 AngularJS 模块的配置中使用以下代码行:

$ionicConfigProvider.views.swipeBackEnabled(false);

我在 app.js 文件中写了下面的代码。

angular.module(....)
.config(function($stateProvider,$urlRouterProvider,$ionicConfigProvider){

    $ionicConfigProvider.views.swipeBackEnabled(false);

.
.
.
.//remaining code in config
}

在最新版本的 ionic 中,您还可以通过在 ion-view 上使用 can-swipe-back="false" 来仅针对某些视图禁用滑动返回功能。

<ion-view can-swipe-back="false"></ion-view>

如果上面的代码不起作用:在 run 函数中,您可以添加:

$ionicPlatform.views.swipeBackEnabled(false);

就我而言,有一个解决方法是使用 $ionicSideMenuDelegate

$ionicSideMenuDelegate.canDragContent(false);

当然,你应该将 delegate 注入控制器的 dependencies.