問題タブ [custom-transition]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - カスタム UIViewController トランジションの複雑化
これに困惑した。
ビューの 1 つに panGesture が追加された UIViewController サブクラスがあります。これは、UIViewController をサブクラス化する主な理由ではありません。また、他のviewControllerが継承する特定の美学も提供します。コントローラーは UIViewControllerTransitioningDelegate に準拠し、init が成功すると、それ自体に transitioningDelegate プロパティを設定します。また、modalPresentationStyle プロパティをカスタムに設定します。
これは、デリゲート メソッドで、表示と非表示用のアニメーター、および非表示用の対話コントローラーを提供します。これは単に UIPercentDrivenInteractiveTransition() のインスタンスです。
ちなみに、このビューは常に部分的に画面に表示されます。ジェスチャで閉じる場合、panGesture の yOffset が負の値でない限り、すべて正常に動作します。ジェスチャが負の Y オフセットで終了した場合、インタラクション コントローラーは予想どおりインタラクティブな遷移をキャンセルしますが、その後 panGesture によって登録されたすべてのタッチは視覚的に反映されません。
少し印刷した後、transitioningDelegate が削除されず、presentationStyle も変更されないことに気付きました。UIViewControllerTransitioningDelegate のデリゲート メソッドの呼び出しが停止します。その理由がわかりません。
これは、カスタム初期化子と NSCoder で必要な初期化子の後に呼び出されます。
の中でviewDidLoad()
、次のことが起こります。
鍋の扱いはこんな感じです。
そして、UIViewControllerTransitioningDelegate()
interactionControllerDismissal のデリゲート メソッドは、次のような変数を返すだけです。
画面に部分的にしか表示されていないため、viewController を正しく表示していませんか? これは画面に表示する正しい方法ですか?
ios - UIPercentDrivenInteractiveTransition はすべてのサブレイヤー アニメーションをキャプチャします
UIPercentDrivenInteractiveTransitionを使用してインタラクティブなトランジションを作成しました
私が抱えている問題は、パーセント駆動のトランジションがtoVCにあるアニメーションもキャプチャしていることです
それらを独立させる方法はありますか?
ios - 「プッシュ」としてアニメーション化されたビュー コントローラを提示する iOS (左右のアニメーション)
現在、他のView Controllerを提示するView Controllerがあります。私がやろうとしているのは、View Controller をプッシュするときに使用されるデフォルトのアニメーションを再作成することです。
私の現在のアプローチは次のとおりです。
FirstViewController
:
SecondViewController
:
それはほとんど機能していますが、私は奇妙な動作をしています.View Controller間を移行するときに、一種の黒い画面/フラッシュが発生しています。すでに変更を試みwindow.backgroundColor
ましたが、問題は解決していません。
よろしくお願いします0_0...
ios - インタラクティブな却下中のpresentingViewControllerへの変更のアニメーション化
Mail.app のオープン ドラフト動作に似た UIPresentationController サブクラスに取り組んでいます。ビュー コントローラが表示されると、一番上まで移動せず、表示中のビュー コントローラはフォール バックするかのように縮小されます。
その基本的な要点は次のとおりです。
これは、非インタラクティブなプレゼンテーションまたは却下に対してはうまく機能します。ただし、インタラクティブな却下を実行すると、すべてのアニメーションpresentingViewController.view
が非インタラクティブに実行されます。つまり、スケーリングは、3% が却下されたときに 3% の完了を維持するのではなく、通常は却下するのにかかる約 300 ミリ秒で発生します。
これは、GitHub で入手できるサンプル プロジェクトで確認できます。この問題のビデオは YouTube にあります。
次のアプローチを試しましたが、すべて同じ結果が得られます。
- 上記の並列アニメーション。
- UIViewControllerAnimatedTransitioning でのアニメーション化。
- CABasicAnimation を使用して、コンテナー ビューのレイヤーのタイミングを手動で調整します。
ios - デバイスの回転時のカスタム Viewcontroller トランジション バグ
ナビゲーション コントローラーのプッシュとポップの遷移をカスタマイズしようとしています。基本的にアルファアニメーションが起こっています。これがコードです。プレゼンテーションの後に iPad を回転させ、プレゼンテーション中の viewController を閉じると、containView がそこにとどまるまで、非常にクールに動作します。[transitionContext containerView] がデバイスと共に回転することはなく、表示中のビューコントローラーを閉じた後に表示されるようになります。