我正在制作一个项目,应该展示一个用钛制作的简单应用程序,并且应该展示应用程序在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和编程的新手,因此我不能完全了解所有解决方案,请不要讨厌我:)
答案 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。
这相当证明这些平台根本不太相似;)