6

AppceleratorTitaniumMobileを使用してiPhoneアプリを作成しています。どのウィンドウにフォーカスがあるかに基づいて、タブグループを非表示にして表示しています。

dashWin.addEventListener("focus",function(e) {
    if (dashWin.tabGroupVisible == true) {
        dashWin.tabGroupVisible=false;
        tabGroup.animate({bottom:-50,duration:500});
    }
});

上記のコードは、dashWinがフォーカスイベントを受信したときにタブグループを非表示にします。ただし、iPhoneシミュレーターで実行中にイベントが発生すると、Titaniumコンソールに次のメッセージが表示されます。

予期しない状態でナビゲーション遷移を終了します。ナビゲーションバーのサブビューツリーが破損する可能性があります。

Googleで検索すると、1つの結果が表示されます。何が起こっているのかについてのヒントがあるかもしれない別のStackOverflowの質問です。

4

4 に答える 4

2

通常、タブ グループはアプリのナビゲーションのルートとして機能します。ユーザーがタブをタップすると、そのタブのウィンドウがフォーカスされます。

次に、ユーザーが新しいウィンドウの表示を必要とするアクションをトリガーすると、通常は現在のウィンドウのモーダルまたは上部 (ナビゲーション スタックの意味) に表示されます。後者の場合、現在のタブに新しいウィンドウを開くように指示します。

(新しいウィンドウを作成するときに) tabBarHidden プロパティを false に設定すると、新しいウィンドウが現在のタブによって開かれるときに、タブ バーが非表示になります。

このより標準的なアプローチはあなたに適していますか?

于 2011-04-02T01:48:03.150 に答える
0

seguesこれが原因であるメインのナビゲーションコントローラーに戻っていました。メインナビゲーションコントローラーをスタックの一番上に戻すことで問題を解決しました。コードは次のとおりです。

- (void) viewDidAppear:(BOOL)animated
{
    [self.navigationController popToRootViewControllerAnimated:NO];
}
于 2013-06-10T15:32:44.890 に答える