ionic - 选项卡未固定在屏幕底部
ionic - tabs not fixed at bottom of the screen
我在尝试使用离子标签时遇到问题。
我需要它们始终显示在屏幕底部(类似于 position: fixed; bottom: 0; left: 0;
)。
我遇到的问题是,在我当前的设置中,表现不正常。
这是我正在使用的模板:
<h2>This is subview</h2>
<div class="list">
<div class="item " ng-repeat="el in elements">
{{el.name}}
</div>
</div>
<div class="tabs tabs-icon-only tabs-dark">
<a class="tab-item">test</a>
<a class="tab-item">test 1</a>
<a class="tab-item">test 2</a>
</div>
但选项卡链接到屏幕底部,因此,如果我必须滚动页面,它们位于底部而不是始终可见,内容在不同的 z-index 下方滚动。
我可能解释得不好,所以这里有一个例子可以更好地解释这一点:
http://codepen.io/NickHG/pen/NNZYwK?editors=1010
总结一下:我必须做些什么才能让标签始终固定在底部,即使页面较长?
PS: 所有这些都是指一个子视图,如果它在某种程度上很重要的话。
感谢任何建议和帮助
您的整个应用程序结构有点混乱。你可以在这里看到一个工作示例:https://codepen.io/anon/pen/XdLEye
您可能应该考虑使用 <ion-tabs>
指令和 <ion-tab>
来构造选项卡。此外,您的选项卡需要成为 <ion-nav-view>
之后的下一个脚本,并将您的列表放在 <ion-content>
.
中
根据评论进行编辑:
您可以像这样制定隐藏选项卡的指令:
.directive('hideTabs', function($rootScope) {
return {
restrict: 'A',
link: function($scope, $el) {
$rootScope.hideTabs = 'tabs-item-hide';
$scope.$on('$destroy', function() {
$rootScope.hideTabs = '';
});
}
};
})
然后像这样在您的模板中使用它:
<ion-view hide-tabs></ion-view>
并且还将其包含在选项卡中:
<ion-tabs class="tabs-icon-top {{$root.hideTabs}}">
选项卡随后将隐藏在此特定视图中。如果您只想在几页中显示它并在其他地方隐藏它,您也可以将其恢复为 show-tabs
指令。
添加到您的 <ion-content>
<ion-content scroll="false">
我不太确定,但您可能必须在 ion-content 之外添加它,但我祝您好运!
最后,我解决了这个问题,将选项卡向上移动一层,使它们不再在子视图中,并将一些范围事件复制到主控制器而不是子视图控制器中。
这是我更改的代码:http://codepen.io/NickHG/pen/NNZYwK?editors=1010
<ion-view>
<ion-content>
<h1>Details for id</h1>
Below the line, subview content:
<hr>
<div ui-view="myDetailsSubview"></div>
</ion-content>
<ion-tabs class="tabs-positive tabs-icon-top">
<ion-tab>test 1</ion-tab>
<ion-tab>test 2</ion-tab>
<ion-tab>test 3</ion-tab>
</ion-tabs>
</ion-view>
我在尝试使用离子标签时遇到问题。
我需要它们始终显示在屏幕底部(类似于 position: fixed; bottom: 0; left: 0;
)。
我遇到的问题是,在我当前的设置中,表现不正常。
这是我正在使用的模板:
<h2>This is subview</h2>
<div class="list">
<div class="item " ng-repeat="el in elements">
{{el.name}}
</div>
</div>
<div class="tabs tabs-icon-only tabs-dark">
<a class="tab-item">test</a>
<a class="tab-item">test 1</a>
<a class="tab-item">test 2</a>
</div>
但选项卡链接到屏幕底部,因此,如果我必须滚动页面,它们位于底部而不是始终可见,内容在不同的 z-index 下方滚动。
我可能解释得不好,所以这里有一个例子可以更好地解释这一点: http://codepen.io/NickHG/pen/NNZYwK?editors=1010
总结一下:我必须做些什么才能让标签始终固定在底部,即使页面较长?
PS: 所有这些都是指一个子视图,如果它在某种程度上很重要的话。
感谢任何建议和帮助
您的整个应用程序结构有点混乱。你可以在这里看到一个工作示例:https://codepen.io/anon/pen/XdLEye
您可能应该考虑使用 <ion-tabs>
指令和 <ion-tab>
来构造选项卡。此外,您的选项卡需要成为 <ion-nav-view>
之后的下一个脚本,并将您的列表放在 <ion-content>
.
根据评论进行编辑:
您可以像这样制定隐藏选项卡的指令:
.directive('hideTabs', function($rootScope) {
return {
restrict: 'A',
link: function($scope, $el) {
$rootScope.hideTabs = 'tabs-item-hide';
$scope.$on('$destroy', function() {
$rootScope.hideTabs = '';
});
}
};
})
然后像这样在您的模板中使用它:
<ion-view hide-tabs></ion-view>
并且还将其包含在选项卡中:
<ion-tabs class="tabs-icon-top {{$root.hideTabs}}">
选项卡随后将隐藏在此特定视图中。如果您只想在几页中显示它并在其他地方隐藏它,您也可以将其恢复为 show-tabs
指令。
添加到您的 <ion-content>
<ion-content scroll="false">
我不太确定,但您可能必须在 ion-content 之外添加它,但我祝您好运!
最后,我解决了这个问题,将选项卡向上移动一层,使它们不再在子视图中,并将一些范围事件复制到主控制器而不是子视图控制器中。
这是我更改的代码:http://codepen.io/NickHG/pen/NNZYwK?editors=1010
<ion-view>
<ion-content>
<h1>Details for id</h1>
Below the line, subview content:
<hr>
<div ui-view="myDetailsSubview"></div>
</ion-content>
<ion-tabs class="tabs-positive tabs-icon-top">
<ion-tab>test 1</ion-tab>
<ion-tab>test 2</ion-tab>
<ion-tab>test 3</ion-tab>
</ion-tabs>
</ion-view>