appixiaが生成するアプリ内で画面遷移がどのように動作するかを選択または説明することはできますか? 現時点では、ある画面から次の画面へと常に「スライド」しているように見えますが、画面が垂直軸で反転する例を見てきました。この動作を複製することはできません。
1 に答える
現在 (iOS 用 Mobile Engine 5)、2 つの潜在的な画面遷移があります。
水平スライド- このトランジションは、アクティビティの新しいインスタンスを表示するたびに表示されます。たとえば、アイテム リストがあり、アイテムが選択されると、アイテムの詳細アクティビティの新しいインスタンスが表示されます。この新しいアクティビティは、現在のタブの現在の iOS ナビゲーション スタックにプッシュされます (ナビゲーション バーの [戻る] ボタンを押すと、スタックに戻ることができます)。スライド アニメーションは、新しい画面が現在のナビゲーション スタックにプッシュされたときに iOS によって実行される標準のアニメーションです。このトランジションは、次のアクティビティが同じタブにある場合に常に使用されることに注意してください。
縦軸の画面反転- このトランジションは、アクティビティの既存のインスタンスを表示しているときに表示されます。たとえば、既存のタブにカート アクティビティがあり、別のタブ (ホーム画面など) から、ボタンがタップされるたびにこの既存のアクティビティを表示したいとします。Cart アクティビティは既に存在するため (新しいインスタンスを作成するのではなく、既存のインスタンスを使用する必要がある場合)、これをユーザーに知らせるために別の遷移が使用されます。このトランジションは、次のアクティビティが別のタブにある場合に常に使用されることに注意してください。
2 つのオプションのどちらが必要かをどのように定義できますか? どちらの場合も、conf 内のある種のModule
フィールドを使用して、次のアクティビティ モジュールへのリンクを指定します。Singleton
新しいインスタンスを作成するか、元のインスタンスを使用するかの決定は、このモジュールのフィールドに依存します。モジュールの 90% にはSingleton = No
. 通常は新しいインスタンスが必要なため、これは常にデフォルトの動作です。Singleton = Yes
たとえば、カート アクティビティである特殊なケース。これは、常に同じカート インスタンスを使用し、リンクされたときに新しいカート インスタンスをプッシュしないようにするためです。
違いを示す例が必要な場合は、次のことを試してください。タブの 1 つを取り、アクティビティを作成しSingleton = Yes
ます。アプリの CMS 画面の 1 つが適切な候補です。次に、他のブロック モジュール (StaticBlocksView
ホーム画面など) で、ボタン ブロックを作成します。このボタン ブロックModule
に、CMS アクティビティへのリンクを追加します。このボタンがタップされるたびに、アプリはタブを CMS アクティビティに切り替えます。Singleton = No
CMS 画面で変更すると、ボタンがタップされるたびに新しいインスタンスがプッシュされます。