通过搜索,查询也有类似的问题与解决方案,即通过修改如下代码:
for(var i=0;i<4;i++){
var sub = plus.webview.create(subpages[i],subpages[i],subpage_style);
self.append(sub);
if(i>0){
sub.hide();
}
将此处append置前,但我在苹果4,6.1.3系统上进行测试(hb版本5.5.1,mui版本1.4),依旧是出现了遮挡,而在安卓手机(4.4.2)上测试则没有,页面都是采取mui.openWindow方式的。
个人采取了笨办法,即在点击导航栏tab时,获取所有页面,逐个进行隐藏,然后再显示当前页面:
mui('.mui-bar-tab').on('tap', 'a', function(e) {
var wvs=plus.webview.all();
for(var i=0;i<wvs.length;i++){
wvs[i].hide();
}
mui.currentWebview.show();
.....
这样是没问题了,但感觉到不流畅了,因为要执行每个页面的隐藏操作。
请问,有没有更好的办法来进行优化处理?解决这问题,谢谢!
2 个回复
DCloud_App_Array
是4个sub之间相互遮挡了吗?也就是说创建时调用sub.hide()方法没有生效?
请提交完整的应用,@DCloud_IOS_XTY 关注确认。
gojaja (作者)
不是sub遮挡,是在sub页面里打开新的页面后,然后再点击导航栏的tab选项,如demo中的通讯率,就被刚才打开的新页面遮挡了。
目前采取的方法是,除了四个sub页面和一个当前页面,其他的执行隐藏操作,也就是设置上面代码中的:
for(var i=0;i<wvs.length;i++){
if(i>4) wvs[i].hide();
}
DCloud_App_Array
新开的窗口肯定会挡住前面开的窗口,再次点击导航栏的tab项,必须隐藏新开的窗口
2015-04-08 20:44