使用Titanium SDK在iOS模拟器上不生成后退按钮

时间:2013-09-23 08:29:35

标签: javascript android ios titanium back

我正在制作一个项目,应该展示一个用钛制作的简单应用程序,并且应该展示应用程序在iOS和Android中的模拟方式,但我的问题是我正在使用PC,所以我无法在家里测试iPhone的内容

前几天我有机会在Mac上测试我的应用程序几分钟,我注意到我的所有窗口都正常工作,我很高兴,但后面的按钮没有在iPhone上生成所以它回到窗口是不可能的,我不得不关闭应用程序并重新启动以检查应用程序的所有功能。

因此,我的应用程序以2个标签应用程序启动,每个标签都有一个通过“url”链接的窗口,每个窗口都包含一些用作导航的按钮,通过按下按钮它可以将您引导到其他窗口不同的.js文件,可能包含像这样的链接,就像onclick转到另一个窗口的表视图一样。

app.js

其中一个标签的示例:

var win1 = Titanium.UI.createWindow({  
title:'Informacije',
backgroundColor:'#F4F4F4',
url:'info.js',
layout:'vertical'
});

var tab1 = Titanium.UI.createTab({  
icon:'KS_nav_views.png',
title:'Info',
window:win1
});

Info.js包含3个按钮,每个按钮点击另一个窗口,显示以下代码:

    button3.addEventListener('click', function(e){

var newWin3 = Titanium.UI.createWindow({
title:'Kontakt',
url:'kont.js',
layout:'vertical',
backgroundColor:'#4B638D'
});

Titanium.UI.currentTab.open(newWin3,{animation:true});

})

之后打开的WIndows使用“modal”打开,因为我无法打开选项卡组中的另一个窗口,因为已经存在一个窗口。

很抱歉,如果这是一个简单的问题,但我现在所做的一切都像Android模拟器中的魅力,我无法在Mac上测试,所以如果有人能给我一个解决方案我会很感激。

我必须补充一点,我是钛,javascript和编程的新手,因此我不能完全了解所有解决方案,请不要讨厌我:)

1 个答案:

答案 0 :(得分:0)

iOS上自动生成的后退按钮仅是NavigationGroup的功能(现在由NavigationWindow替换)。您必须生成一个按钮,该按钮将手动关闭当前窗口:

var win = Ti.UI.createWindow({
    ...
});

var backButton = Ti.UI.createButton({
   ...
});

win.setLeftNavButton(backButton);

win.open();

backButton.addEventListener('click', function() {
    win.close();
});

(只需添加依赖于的backButton平台:)

if(Ti.Platform.name === 'iPhone OS') {
    win.setLeftNavButton(backButton);
}

或仅为iOS平台使用NavigationGroup。

这相当证明这些平台根本不太相似;)