【发布时间】:2016-10-03 00:27:37
【问题描述】:
我正在使用 Monaca + Onsen UI 开发 iOS/Android 应用程序。我为每个页面使用以下 HTML 结构:
tabbar.html
<ons-page>
<ons-tabbar var="mainTb">
<ons-tabbar-item no-reload icon="home" label="HOME" page="home.html" active="true">
</ons-tabbar-item>
<ons-tabbar-item no-reload icon="talk" label="TALK" page="talkList.html">
</ons-tabbar-item>
...
</ons-tabbar>
</ons-page>
talkList.html
<ons-page ng-controller="TalkListController">
<!-- This is the "Navigation bar" -->
<ons-toolbar>
<ons-toolbar-button ng-click="fnShowGlobalMenu()">
<ons-icon icon="ic_global"></ons-icon>
</ons-toolbar-button>
</ons-toolbar>
<!-- The list of talk -->
<ons-list>
<ons-list-item ng-repeat="r in talkRow" ng-click="showTalk(r.talkCode)">
<ons-row>
<ons-col>
<div>
{{r.userName}}
</div>
<!-- Some talk list info... -->
</ons-col>
</ons-row>
</ons-list-item>
</ons-list>
</ons-page>
talkDetail.html
<ons-page ng-controller="TalkDetailController">
<!-- This page have "Go back" icon instead of "Global Menu" -->
<ons-toolbar>
<ons-toolbar-button ng-click="fnShowGlobalMenu()">
<ons-icon icon="ic_global"></ons-icon>
</ons-toolbar-button>
</ons-toolbar>
<!-- This is where message bubbles show up for users. -->
<ons-list-item ng-repeat="r in messageRow" repeat-done="toBottom()">
...
</ons-list-item>
<!-- This is text area to enter message to send. -->
<ons-bottom-toolbar>
..
</ons-bottom-toolbar>
</ons-page>
基本上,导航需要两个步骤来显示talkDetail,它显示了用户在时间轴上的谈话。用户点击标签栏项目“TALK”,然后导航到talklist.html。用户接下来选择要与之交谈的人,然后点击调用showTalk() 的 ons-list-item 之一。这个showTalk() 就是this._scope.appRoot.pushPage(pageName, params);
代码几乎可以完美运行,除非页面移动到talkDetail.html。从talkList.html 导航到talkDetail.html 时,talkDetail.html 中的“导航栏”(ons-toolbar)会缩小其高度,使该区域中的标题文本和“后退按钮”更难点击。
这仅在 iOS 设备中发生,在 Android 中不会发生。
有没有办法解决这个问题?我试图“覆盖”css,但我不知道这是否是正确的方法。对不起菜鸟问题。我对 Onsen UI 和 Monaca 还很陌生...
【问题讨论】: