問題タブ [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 - ストーリーボードのカスタム コンテナ ビュー コントローラでビュー コントローラ間を移行するベスト プラクティスは?
UITabBarController と非常によく似たセットアップがありますが、さまざまな理由から、独自のカスタム コンテナー ルート コントローラーを作成する必要があります。
写真で指定されているように、2 つのビュー コントローラー (VC 1 & VC 2) 間にカスタム トランジションを作成したいと考えています。
2 つのビュー コントローラーを子としてマスター コントローラーに追加し、ルート ビュー コントローラー内に存在するコンテナー ビューでビュー アニメーションを実行することは正しいですか? これは、両方のビュー コントローラーが一度にインスタンス化されることを意味します。
または、VC 1 をルート ビュー コントローラーの子ビュー コントローラーとしてライブにし、後で遷移が発生したときにコード内で VC 2 をインスタンス化するなどのことを行いますか。もちろん、これはストーリーボードに VC 2 が存在することを意味しますが、ルート ビュー コントローラーには接続されておらず、ストーリーボード ID によってインスタンス化されます。そして、iOS 7 で受け取ったカスタム移行プロトコルを使用していることは明らかです。
または、他のオプションはありますか?
ios - UITableViewCell を展開/折りたたんで、Evernote のような移行を実現
Evernote の iOS アプリでの遷移と非常によく似た、View Controller 間の遷移を実現することに興味があります。
「Places」をタップすると、緑色の枠で囲まれた UINavigationController のようにスムーズに展開されます。折りたたむには、「戻る」をタップするか、画面の左側からスワイプして徐々にホーム画面に遷移します。
コピーして貼り付けるための正確なコード サンプルを探しているわけではありません。むしろ、どの概念と Apple API を活用するかについての高レベルのガイダンスを求めています。すなわち、
- これはどのトランジション/アニメーション API を使用する可能性がありますか?
- 「Places」が展開されたら、View Controller全体の周りに緑色の境界線を表示するにはどうすればよいですか?
ios - カスタム トランジションにより、黒い画面または応答しない画面が表示される
カスタムを作成しましたUIViewControllerAnimatedTransition
(コードを以下に示します)。ビューを閉じると、トランジションはアニメーションのみに焦点を当てます。ビューを閉じると、黒い画面が表示され、master
消える前に短時間表示されます。コードベルをご覧ください
この行をコメントアウトすると[transitionContext completeTransition: YES];
、黒いビューは表示されませんが、master
応答しません。アイデアはから適応されましたhttps://github.com/mluisbrown/LCZoomTransition
問題がある場合は、お知らせください。十分に提供できれば幸いです。
アップデート
更新 2
これが私が移行を提示する方法です:
ios - プログラムで作成されたセグエ IOS を使用してカスタム遷移アニメーターを呼び出す
私が取り組んでいるプロジェクトでは、2 つのビュー コントローラー間のカスタム トランジションが必要です。次のようにメソッドをオーバーライドして、UIViewControllerTransitioningDelegate をセットアップして実装しました。
そして、メソッドをオーバーライドして UIViewControllerAnimatedTransitioning を正しく実装するように MyAnimator サブクラスをセットアップしました。
このアニメーション遷移をトリガーするために使用するセグエは、次のようにプログラムで作成および呼び出されます。
プログラムでセグエを作成する理由: from (からの遷移) と to (への遷移) ビュー コントローラーを別々のストーリーボードに持っています。
問題/質問: 多くの例を見てきましたが、すべて次のようなストーリーボード セグエを使用してカスタム トランジションを処理します。
カスタム遷移が行われるように、上記のプログラムで作成されたセグエに対してメソッド-performでどのように定義する必要がありますか。
ios - カスタム ビュー遷移中のビュー階層
現在、提供されている API を使用して、カスタム コントローラー トランジションを定義しています。Apple から提供されたドキュメントを読み、WWDC のビデオを見て、それについて話しているブログをたくさん見つけました。これらの API の使用方法についていくつか質問があります。
- 上のコンテナー ビュー
animateTransition:
: 私が見つけたサンプル コードの大部分と、"ビュー コントローラーを使用したカスタム トランジション" という名前の WWDC 218 では、"toViewController" のビューのみがcontainerView
. しかし、他のいくつかの例とビデオ「Architecting Modern iOS Apps」では、示されたコードは「toViewController」と「fromViewController」の両方をcontainerView
. 両方を処理する必要がある場合と、1 つだけを処理する必要がある場合はいつですか? 却下と提示の両方で同じですか? - およびコンテキスト
initialFrameForViewController:
から: WWDC 218 ビデオfinalFrameForViewController:
はUIViewControllerContextTransitioning
、コントローラーのビューのフレームを取得するためにこれらのメソッドに依存することが非常に重要であることを教えてくれました。しかし、多くの例では、 はまったく使用されていません。カスタムアニメーションで使用しようとしましたが、提供されたフレームが画面の外にある可能性があります。これらの方法でフレームはどのように決定されますか? これらのメソッドはいつ使用する必要がありますか? ドキュメントに指定されていますか? viewForKey:
iOS8 : iOS 8 以降ではなく、このメソッドを使用する必要がありviewControllerForKey:
ますか?modalPresentationStyle
カスタム アニメーション トランジション中にビュー階層にインシデントがありますか? ここで提供されるスライド: http://es.slideshare.net/Split82/custom-uiviewcontroller-transitionsでは、これは最初と最後のフレームに発生するようです。それはどこかに文書化されていますか?
ios - アニメーション化されていない場合、カスタム トランジションの終了を処理しますか?
アプリでカスタム トランジションを使用しています。
をanimateTransition
与えるメソッドがあり、ブロックの完了時にをUIViewControllerContextTransitioning
に設定できます。containerView.backgroundColor
UIColor.blackColor()
UIView.animate..
presentViewController:
アニメーションを に設定して 呼び出すと、問題が発生しfalse
ます。アニメーションanimateTransition
がないということは、メソッドが呼び出されないことを意味するため、背景が意図したとおりに黒くなりません。
カスタムトランジションをアニメーション化せずに、コンテナビューの背景色を黒に設定する方法が他にあるのだろうかと思っていました.
ちなみに、アニメーション化しないからといって、アニメーション化しないわけではありません。そして、アニメーションでそれを削除しても、containerViewを黒くする機会がまだ得られないため、問題は解決しません。