iOSのナビゲートでアニメーション化されていないページ内のコンポーネント

クレイグ

呼び出して新しい画面に移動するとNavController.navigateForward('/url')、画面をスライドさせて表示する無料のネイティブアニメーションが表示されます。ページコンポーネント内のコンポーネントを使用しない限り、これは期待どおりに機能します。これを行うと、ページ内のコンポーネントを除いて、すべてが期待どおりにアニメーション化されます。

次のページに移動すると、コンテンツとタイトルがすべてスライドして表示されます。

<ion-header>
    <h1>The Title</h1>
</ion-header>
<ion-content>
    Some content...
</ion-content>

ただし、h1タグをコンポーネントに抽出すると、「一部のコンテンツ...」のみがスライドして表示されます。「タイトル」はアニメーションなしで表示されます。

<ion-header>
    <app-my-component>The Title</app-my-component>
</ion-header>
<ion-content>
    Some content...
</ion-content>
セバフェレラス

それが起こっている理由は、Ionicion-titleがアニメーション化するために特定の場所にあることを期待しているためです。iOSページトランジションのソースコードを調べると、それを確認できます

ここでわかるion-toolbarように、Ionicは次のように入力します。

const enteringToolBarEls = enteringEl.querySelectorAll(':scope > ion-header > ion-toolbar');

そしてここでそれはこのion-titleようになります:

enteringTitle.addElement(enteringToolBarEl.querySelector('ion-title'));

でカスタムコンポーネントを使用すると、HTMLコードの構造が異なるため、これは機能しませんion-header

ion-header > your-component > ion-toolbar

ion-headerIonicは、適切にアニメーション化するために特定の方法であると想定しているため、でカスタムコンポーネントを使用しないことをお勧めします。


そうは言っても、そこでカスタムコンポーネントを本当に使用する必要がある場合は、次のように独自のカスタムページトランジションを作成できます。

  1. iOSページトランジションのソースコードのmyAwesomeTransitionAnimation.ts内容で新しいファイル作成します
  2. コードを編集して、特定のHTML構造でトランジションが機能するようにします
  3. app.module.tsデフォルトの代わりにその遷移を使用するようにファイルを編集します。
imports: [
    ...
    IonicModule.forRoot({  
      navAnimation: myAwesomeTransitionAnimation,
    }), 
  ],

これを行うion-navion-router-outlet 、アプリケーション全体のデフォルトの「アニメーション」が上書きされることに注意してください

iOS用に(Android用のデフォルトを使用して)オーバーライドしたいだけの場合は、このコメントを見てください

let ionic = [
  IonicModule.forRoot()
];

const platform = new Platform();

if (platform.is('ios')) {
  ionic = [
    IonicModule.forRoot({
      navAnimation: myAwesomeTransitionAnimation,
    })
  ]
}

そしてモジュールのインポートでは:

imports: [ ...ionic, ]

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

「アニメーション:ネイティブアニメーションモジュールがないため、 `useNativeDriver`はサポートされていません。」を解決する方法 反応ナビゲーションで?

分類Dev

ナビゲーションコンポーネントを介してアクションに追加されたアニメーションが完了するまで、ビューがクリックされないようにします

分類Dev

フラグメントナビゲーションコンポーネントが機能しない下部ナビゲーションビューの設定

分類Dev

ナビゲーションコンポーネントのコンテキストにフラグメントが添付されていません

分類Dev

ツールバーコンポーネントでラップされていないReactJSナビゲーションアイテム

分類Dev

React-Semantic-UIトランジションがコンポーネントをアニメーション化しないのはなぜですか?

分類Dev

ナビゲーションコンポーネントがonActivityResult内をナビゲートしない

分類Dev

ネストされたナビゲーショングラフを備えたArchの新しいナビゲーションコンポーネント

分類Dev

ナビゲーションコンポーネントを使用して、変化するフラグメントにアニメーションを追加するにはどうすればよいですか?

分類Dev

ページの中央にナビゲーションメニューが表示されない

分類Dev

ナビゲーションコンポーネントを使用してナビゲーションドロワーのメニューをクリックした場合、別の目的地に移動する代わりにアクションを実行するにはどうすればよいですか?

分類Dev

ナビゲーションドロワー、スライドメニュー、ページスライドは、どのAndroidバージョンでサポートされていますか

分類Dev

iOSで上にスクロールした後、ページナビゲーションメニューがページの上部に隠れています

分類Dev

メインコンポーネントの外部のナビゲーションにアクセスするにはどうすればよいですか?

分類Dev

Androidナビゲーションアーキテクチャコンポーネント-現在表示されているフラグメントを取得する

分類Dev

Webページコンポーネントのアニメーション

分類Dev

Angular4でのナビゲーション後にコンポーネントコードが呼び出されない

分類Dev

フラグメント内のViewPager2は、ナビゲーションコンポーネントナビゲートによって含まれているフラグメントを置き換えた後にリークします

分類Dev

(ナビゲーションアーキテクチャコンポーネントの)NavHostFragmentによってロードされたフラグメント(SupportMapFragment)の参照を取得するにはどうすればよいですか?

分類Dev

すべてのアクティビティコンポーネントの上に左側のナビゲーションメニューを表示するにはどうすればよいですか?

分類Dev

上部のナビゲーションメニューのドロップダウンはWebページのコンテンツの下に隠れており、さまざまな画面サイズでコンテンツの位置を修正したい

分類Dev

モバイル版でCSSナビゲーションメニューがネストされない

分類Dev

ナビゲーションコンポーネントを使用して、SearchViewが新しいフラグメントで折りたたまれない

分類Dev

Androidナビゲーションコンポーネントの画面が前のフラグメントに戻らないのに、前のフラグメントのonViewCreatedのメソッドが呼び出されるのはなぜですか?

分類Dev

ネストされたナビゲーションバーがメインナビゲーションの下に配置されない

分類Dev

Androidナビゲーションコンポーネントに正しいアクションバータイトルが表示されない

分類Dev

ナビゲーションドロワーから他のオプションを選択して戻ってきた後、ナビゲーションドロワー内のビューページャーにフラグメントが表示されない

分類Dev

ナビゲーションバーのドロップダウンコンテンツをアニメーション(トランジションなど)で表示するにはどうすればよいですか?

分類Dev

ナビゲーションコンポーネントは現在のフラグメントアクティビティを置き換えていません

Related 関連記事

  1. 1

    「アニメーション:ネイティブアニメーションモジュールがないため、 `useNativeDriver`はサポートされていません。」を解決する方法 反応ナビゲーションで?

  2. 2

    ナビゲーションコンポーネントを介してアクションに追加されたアニメーションが完了するまで、ビューがクリックされないようにします

  3. 3

    フラグメントナビゲーションコンポーネントが機能しない下部ナビゲーションビューの設定

  4. 4

    ナビゲーションコンポーネントのコンテキストにフラグメントが添付されていません

  5. 5

    ツールバーコンポーネントでラップされていないReactJSナビゲーションアイテム

  6. 6

    React-Semantic-UIトランジションがコンポーネントをアニメーション化しないのはなぜですか?

  7. 7

    ナビゲーションコンポーネントがonActivityResult内をナビゲートしない

  8. 8

    ネストされたナビゲーショングラフを備えたArchの新しいナビゲーションコンポーネント

  9. 9

    ナビゲーションコンポーネントを使用して、変化するフラグメントにアニメーションを追加するにはどうすればよいですか?

  10. 10

    ページの中央にナビゲーションメニューが表示されない

  11. 11

    ナビゲーションコンポーネントを使用してナビゲーションドロワーのメニューをクリックした場合、別の目的地に移動する代わりにアクションを実行するにはどうすればよいですか?

  12. 12

    ナビゲーションドロワー、スライドメニュー、ページスライドは、どのAndroidバージョンでサポートされていますか

  13. 13

    iOSで上にスクロールした後、ページナビゲーションメニューがページの上部に隠れています

  14. 14

    メインコンポーネントの外部のナビゲーションにアクセスするにはどうすればよいですか?

  15. 15

    Androidナビゲーションアーキテクチャコンポーネント-現在表示されているフラグメントを取得する

  16. 16

    Webページコンポーネントのアニメーション

  17. 17

    Angular4でのナビゲーション後にコンポーネントコードが呼び出されない

  18. 18

    フラグメント内のViewPager2は、ナビゲーションコンポーネントナビゲートによって含まれているフラグメントを置き換えた後にリークします

  19. 19

    (ナビゲーションアーキテクチャコンポーネントの)NavHostFragmentによってロードされたフラグメント(SupportMapFragment)の参照を取得するにはどうすればよいですか?

  20. 20

    すべてのアクティビティコンポーネントの上に左側のナビゲーションメニューを表示するにはどうすればよいですか?

  21. 21

    上部のナビゲーションメニューのドロップダウンはWebページのコンテンツの下に隠れており、さまざまな画面サイズでコンテンツの位置を修正したい

  22. 22

    モバイル版でCSSナビゲーションメニューがネストされない

  23. 23

    ナビゲーションコンポーネントを使用して、SearchViewが新しいフラグメントで折りたたまれない

  24. 24

    Androidナビゲーションコンポーネントの画面が前のフラグメントに戻らないのに、前のフラグメントのonViewCreatedのメソッドが呼び出されるのはなぜですか?

  25. 25

    ネストされたナビゲーションバーがメインナビゲーションの下に配置されない

  26. 26

    Androidナビゲーションコンポーネントに正しいアクションバータイトルが表示されない

  27. 27

    ナビゲーションドロワーから他のオプションを選択して戻ってきた後、ナビゲーションドロワー内のビューページャーにフラグメントが表示されない

  28. 28

    ナビゲーションバーのドロップダウンコンテンツをアニメーション(トランジションなど)で表示するにはどうすればよいですか?

  29. 29

    ナビゲーションコンポーネントは現在のフラグメントアクティビティを置き換えていません

ホットタグ

アーカイブ