1

私は、ダッシュボードの初期画面と、ダッシュボードからアクセスできる2つの別々の画面を含むTitaniumAppceleratoriOSアプリに取り組んでいます。

ナビゲーションコントローラーを使用するようにアプリを設定しました。すべては、カスタムイベントリスナーを使用してmain.jsファイルから制御されます。これは、各画面のコードを別々のファイルに分割できるようにするためです。

問題は、ロードされる各画面で、ナビゲーションスタックのウィンドウを開いてから、すべての要素を追加する必要があることです。これは、いくつかのビューとラベルが含まれているだけなので、画面の1つには問題ありません。ただし、もう一方の画面にはMapViewがあり、ユーザーが画面が開いていることを確認してからロードするのに3秒ほどかかります。

これを処理する正しい方法は何ですか?開く前にウィンドウをプリロードする方法はありますが、現在のアーキテクチャを維持する方法はありますか?

私はこの質問をもっと紛らわしく具体的な方法で尋ねました、私が使用しているアーキテクチャスタイルはかなり一般的であるため、この一般的な質問はより多くの人々に当てはまると思います。

4

3 に答える 3

2

あなたのアプローチはかなり典型的だと思います...残念ながら、私はあなたのウィンドウのコンテンツをプリロードする方法を知りません。マップキャンバスの静止画像を含めることで、マップビューの読み込み時にユーザーエクスペリエンスを向上させることができる場合があります(AppleのUIガイドラインでは、Default.pngをアプリ自体の基本的なインターフェイスの画像にして、印象を与えることを推奨しています。すぐに読み込まれること)。の形式でローディングスピナーを追加することもできますTi.UI.ActivityIndicatorloadこれらは両方ともデフォルトでウィンドウに追加でき、マップビューのイベントでマップを表示するときに非表示にできます。彼らはおそらく、3秒間の待機がそれほど苦痛ではないように見えるようにするのに役立つと思います。

他の投稿で、ユーザーのGPS位置を積極的に取得していなくても、地図の読み込みに長い時間がかかることに気づきました。確かに、アプリの起動直後に場所を取得し、使用しているカスタムイベントを使用して地図ウィンドウに渡すことで時間を節約できる可能性があります。そのため、地図はユーザーの場所で直接初期化できます。ダミーの場所より。

于 2013-03-26T20:04:33.830 に答える
0

ナビゲーションコントローラーの場合、https://github.com/vuinguyen/NavControllerを使い始めました

それはios/androidで非常にうまく機能し、gitコードは単純でわかりやすいものでした。KevinWhinneryがかなり前に出したものの拡張バージョンです。3.0で特に文句なしに使用しています。ネイティブのiOSナビゲーションヘッダーを抑制する機能を追加しましたが、それを除けば、すぐにドロップされました。

于 2013-03-27T13:56:48.543 に答える
0

まったく同じアーキテクチャを使用しているとは思いません。アプリの初期ロード時に、複数のウィンドウを使用する代わりに、1つのウィンドウ内にすべてのビューをロードできます。次に、zIndexesを変更して、現在表示されているものを変更します。

于 2013-03-27T14:39:43.467 に答える