0

現在、提供されている API を使用して、カスタム コントローラー トランジションを定義しています。Apple から提供されたドキュメントを読み、WWDC のビデオを見て、それについて話しているブログをたくさん見つけました。これらの API の使用方法についていくつか質問があります。

  1. 上のコンテナー ビューanimateTransition:: 私が見つけたサンプル コードの大部分と、"ビュー コントローラーを使用したカスタム トランジション" という名前の WWDC 218 では、"toViewController" のビューのみがcontainerView. しかし、他のいくつかの例とビデオ「Architecting Modern iOS Apps」では、示されたコードは「toViewController」と「fromViewController」の両方をcontainerView. 両方を処理する必要がある場合と、1 つだけを処理する必要がある場合はいつですか? 却下と提示の両方で同じですか?
  2. およびコンテキストinitialFrameForViewController:から: WWDC 218 ビデオfinalFrameForViewController:UIViewControllerContextTransitioning、コントローラーのビューのフレームを取得するためにこれらのメソッドに依存することが非常に重要であることを教えてくれました。しかし、多くの例では、 はまったく使用されていません。カスタムアニメーションで使用しようとしましたが、提供されたフレームが画面の外にある可能性があります。これらの方法でフレームはどのように決定されますか? これらのメソッドはいつ使用する必要がありますか? ドキュメントに指定されていますか?
  3. viewForKey:iOS8 : iOS 8 以降ではなく、このメソッドを使用する必要がありviewControllerForKey:ますか?
  4. modalPresentationStyleカスタム アニメーション トランジション中にビュー階層にインシデントがありますか? ここで提供されるスライド: http://es.slideshare.net/Split82/custom-uiviewcontroller-transitionsでは、これは最初と最後のフレームに発生するようです。それはどこかに文書化されていますか?
4

1 に答える 1

0
  1. 追加する必要があるView Controllerについては、「to」ビューを追加するだけです。「から」のビューはすでにそこにあります。

  2. あなたfinalFrameForViewControllerの に関しては、おそらくUIModalPresentationFullscreenvsUIModalPresentationPopoverpreferredContentSize.

  3. に関してviewForKey、これは、提示されたビューが提示元のビュー コントローラーのビューと同じでない場合に役立ちます (たとえば、カスタム トランジションは、提示されたビューが全画面である「元の」ビューもぼかすポップアップを提示しています)。は小さなポップアップです)。多くの場合、必要ありませんviewForKey。それはあなたが何をしているかにかかっています。

  4. はい、modalPresentationStyleフレーム サイズに影響します (例: ポップオーバー vs フルスクリーン vs UIModalPresentationNone)。WWDC 2014 ビデオ #214 View Controller Advancements in iOS 8は、これを実際に示しています。

于 2015-03-11T14:15:20.880 に答える