0

チタン製のシンプルなアプリを表示し、iOS と Android でアプリがどれほど似ているかを示すプロジェクトを作成していますが、私の問題は PC を使用しているため、自宅から iPhone を実際にテストできないことです。

先日、自分のアプリを Mac で数分間テストする機会があり、すべてのウィンドウが正しく機能していることに気付きました。これにはかなり満足していましたが、iPhone では戻るボタンが生成されないため、ウィンドウに戻り、アプリを閉じて再起動し、アプリのすべての機能を確認する必要がありました。

したがって、私のアプリは2つのタブアプリとして開始され、各タブには「url」を介してリンクされたウィンドウがあり、これらの各ウィンドウにはナビゲーションとして機能するいくつかのボタンが含まれています。ボタンを押すと、別の.jsの他のウィンドウにさらに移動しますクリックすると別のウィンドウに移動するテーブルビューのように、そのようなリンクを独自に含む可能性のあるファイル。

app.js

タブの 1 つの例:

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

または、iOS プラットフォーム専用の NavigationGroup を使用します。

これはむしろ、これらのプラットフォームがまったく似ていないことを証明しています;)

于 2013-09-23T09:05:21.867 に答える