問題タブ [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.

0 投票する
1 に答える
440 参照

ios - カスタム ViewController トランジション: ToViewController のサブビューのフレームを取得する

これが私の質問の実例です:

図

同じ画像を表示する ViewControllers A & BにStarImageViewがありますが、その ViewController には互いに異なるフレームがあります。

ViewController A のStarImageViewがタップされると、アプリは新しい View Controller を Navigation Controller スタックにプッシュし、同時に ViewController B の最終フレームにアニメーション化します。

この動作は、iPhone の写真アプリのトランジションに似ています。


今のやり方

ViewController Aの初期StarImageViewのフレームと画像を使用してアニメーターオブジェクトの一時UIImageViewを初期化し、四角形(ViewController BのStarImageViewCGRectMake(0, 60+44, containerView.bounds.size.width, containerView.bounds.size.width)のフレーム)をハードコーディングして最終フレームにアニメーション化し、スーパービューから一時UIImageViewを削除しますアニメーション完了ブロック。


代わりにどのようにやりたいか

プロジェクトは、自動レイアウトが有効なストーリーボードで作成されます。私がやりたいことは、上記のようにハードコーディングするのではなく、遷移中に ViewController B でStarImageViewのフレームを取得することです。ViewContorller のライフサイクルが原因で、まだ初期化されていないため、アニメーター オブジェクトの ViewController B のサブビューを参照できません。

このような状況に対する他の解決策やベスト プラクティスはありますか? 前もって感謝します!

PS私はthisthis、およびthisを見てきましたが、答えはありません。

0 投票する
1 に答える
315 参照

ios - CGAfflineTransformIdentity でビュー コントローラーの遷移が発生する方法

別のビュー コントローラーを提示しながら、カスタム トランジションを作成しようとしましたが、2 つの方法で成功しました。1 つは CGAfflineTransformIdentity を使用する方法で、もう 1 つは CGAffineTransformMakeTranslation を使用して ViewController をプッシュするだけです。

Apple のドキュメントでは、CGAfflineTransformIdentity を単位単位行列として説明しています。恒等行列を使用してビューを変換している間、アニメーションはどのように発生しますか?

実際の数学では、何かを単位行列で乗算すると、結果として同じ行列が得られます。

では、CGAfflineTransformIdentity では実際にどのように移行が行われるのでしょうか?

0 投票する
1 に答える
119 参照

objective-c - animateTransition:transitionContext で UITableView セル フレームにアクセスする方法

TOに移行しているView Controllerのテーブルビューの最初のセルにフレームが必要なモーダルカスタムトランジションを作成しようとしています。animateTransition:transitionContext次のコードの後に​​ブレークポイントを配置すると:

ページ上の他のすべてのコントロールとともに、テーブルビューが nil であることがわかります。

よく検索した結果、VC をプッシュするときに次のコードを使用することを提案する同様の質問を見つけることができました。

しかし、それは機能しません。テーブルビューと他のすべてのページ要素はゼロですanimateTransition:transitionContext

ビューのライフサイクルのこの時点では、テーブルビューはまだ計算されていないため、nil になっていることは理解していますが、カスタム トランジションでテーブルビュー セルを参照する方法はありませんか?

0 投票する
3 に答える
1778 参照

ios - カスタム トランジション iOS (プッシュ/ポップ)

新しいviewControllerをプッシュするときにカスタムズームイントランジションを作成しましたが、以前は完全に正常に機能していました。ビューコントローラーをポップするときにズームアウト効果を作成したい のですが、最終状態が正しいと思っても、アニメーションが間違っているのは、プッシュまたはポップであり、すべてのメソッドがisBeingPresented返されるかどうかを識別する方法がわからないためです。false で、presentedViewController常に nil です

0 投票する
1 に答える
3068 参照

ios - UINavigationControllerDelegate メソッド、ios 8 のナビゲーション コントローラーを使用したカスタム トランジション

ナビゲーション コントローラーをポップまたはプッシュするときに、カスタム トランジションを作成しようとしています。UINavigationControllerDelegate に準拠する transitionManager クラスを作成しました。この transitionManager のオブジェクトを作成し、それを transitioningDelegate として navigationController に追加しました。

プッシュ アニメーションはうまく動作しますが、前の viewController に戻ろうとすると、黒い画面しか表示されません。

私はそれを機能させるために他の多くの投稿を実行し、手元にあるすべてを試しましたが、ポップしても以前の ViewController が表示されません。

transitionManager のコードは次のとおりです。

0 投票する
1 に答える
452 参照

ios - fromViewControllerを暗くするiOSの迅速なカスタムトランジション

ビュー コントローラーにカスタム トランジションを表示したいのでfromViewController、AlertViewController を表示するかのように暗くなります。customTransition マネージャーを作成しました。

以下に示すように、移行中のマネージャーを に割り当てtoViewControllerます。

表示しようとしているView Controllerは、固定サイズのストーリーボードにあります。背景がはっきりしていて、画面の中央に配置したいテーブルビューをそこに追加しました。

TableViewは問題なく表示されていますが、fromViewControllerが全く見えません。後で 0.5 にアニメーション化される 0 に黒の背景のアルファを設定しても、それはただの黒です。

View Controller をモーダルに表示していますが、それが問題の原因ですか? 代わりにプッシュ アンド ポップ操作を使用する必要がありますか?