これは、カスタム状況で行う方法です。
<ion-content on-scroll="scrollEvent()" delegate-handle="scrollHandle">
on-scrollイベントをionic-contentに設定してからコントローラに設定します。 YOUは、SIMPLE NAVのBARがあり、すべて一緒にそれを隠すことができるかどう
$scope.scrollEvent = function() {
$scope.scrollamount = $ionicScrollDelegate.$getByHandle('scrollHandle').getScrollPosition().top;
if ($scope.scrollamount > 180) {
$scope.$apply(function() {
$scope.hideNavigation = true;
});
} else {
$scope.$apply(function() {
$scope.hideNavigation = false;
});
}
};
JUST "(偽)$ ionicNavBarDelegate.showBarを;" を使用$ scope.hideNavgiationの代わりに、その変数に関連するすべてのものがあります。例:
$scope.scrollEvent = function() {
var scrollamount = $ionicScrollDelegate.$getByHandle('scrollHandle').getScrollPosition().top;
if (scrollamount > 0) { // Would hide nav-bar immediately when scrolled and show it only when all the way at top. You can fiddle with it to find the best solution for you
$ionicNavBarDelegate.showBar(false);
} else {
$ionicNavBarDelegate.showBar(true);
}
}
$のscope.scrollamountは、ユーザが上から180ピクセルをスクロールしているこの場合、ナビゲーションバーを非表示にする場合にだけ画素値です。しかし、この後に、ng-if = "!hideNavigation"またはng-show = "!hideNavigation"を追加するだけです。
範囲が破壊されたときにもゼロ/ nullに$のscope.scrollamountを設定することができます
またはionicview.leaveなど
あなたのナビゲーションバーがあなたのテンプレートと同じテンプレートおよび/またはコントローラにない場合、あなたのことができ、単に
$scope.scrollEvent = function() {
$scope.scrollamount = $ionicScrollDelegate.$getByHandle('scrollHandle').getScrollPosition().top;
if ($scope.scrollamount > 180) {
$scope.$apply(function() {
$rootScope.$broadcast('showHideNavigation', { hide: true });
});
} else {
$scope.$apply(function() {
$rootScope.$broadcast('showHideNavigation', { hide: false });
});
}
};
そして、あなたの他のコントローラ
$scope.$on('showHideNavigation', function(event, args) {
$scope.hideNavigation = args.hide;
});
でそれをキャッチがうまくいけば、これはあなたを助けます。
http://ionicframework.com/docs/api/service/$ionicNavBarDelegate/;スクロールリスナー内で$ ionicNavBarDelegate.showBar(false)をトリガーします。 –