0

我正在制作一个项目,该项目应该展示一个用钛制成的简单应用程序,并且应该展示这些应用程序在 iOS 和 Android 中的相似性,但我的问题是我使用的是 PC,所以我无法在家中真正测试 iPhone 的东西。

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

因此,我的应用程序从 2 个选项卡应用程序开始,每个选项卡都有一个通过“url”链接的窗口,每个窗口都包含一些用作导航的按钮,通过按下一个按钮,它会将您进一步引导到不同 .js 中的其他窗口文件可能包含类似的链接,如点击后转到另一个窗口的表格视图。

应用程序.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});

})

之后打开的窗口使用“模态”打开,因为我无法打开选项卡组中的另一个窗口,因为那里已经有一个窗口。

抱歉,如果这是一个简单的问题,但到目前为止我所做的一切都像 android 模拟器中的魅力一样,我无法在 Mac 上进行测试,所以如果有人能给我一个解决方案,我将不胜感激。

我必须补充一点,我对钛、javascript 和编程很陌生,所以我对所有解决方案都不是很了解,请不要讨厌我 :)

4

1 回答 1

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);
}

或仅将 NavigationGroup 用于 iOS 平台。

这反而证明了这些平台根本不是太相似;)

于 2013-09-23T09:05:21.867 回答