問題タブ [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 に答える
2274 参照

ios - ストーリーボードのカスタム コンテナ ビュー コントローラでビュー コントローラ間を移行するベスト プラクティスは?

UITabBarController と非常によく似たセットアップがありますが、さまざまな理由から、独自のカスタム コンテナー ルート コントローラーを作成する必要があります。

写真で指定されているように、2 つのビュー コントローラー (VC 1 & VC 2) 間にカスタム トランジションを作成したいと考えています。

ストーリーボードのセットアップ

2 つのビュー コントローラーを子としてマスター コントローラーに追加し、ルート ビュー コントローラー内に存在するコンテナー ビューでビュー アニメーションを実行することは正しいですか? これは、両方のビュー コントローラーが一度にインスタンス化されることを意味します。

または、VC 1 をルート ビュー コントローラーの子ビュー コントローラーとしてライブにし、後で遷移が発生したときにコード内で VC 2 をインスタンス化するなどのことを行いますか。もちろん、これはストーリーボードに VC 2 が存在することを意味しますが、ルート ビュー コントローラーには接続されておらず、ストーリーボード ID によってインスタンス化されます。そして、iOS 7 で受け取ったカスタム移行プロトコルを使用していることは明らかです。

または、他のオプションはありますか?

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

ios - UITableViewCell を展開/折りたたんで、Evernote のような移行を実現

Evernote の iOS アプリでの遷移と非常によく似た、View Controller 間の遷移を実現することに興味があります。

ここに画像の説明を入力

「Places」をタップすると、緑色の枠で囲まれた UINavigationController のようにスムーズに展開されます。折りたたむには、「戻る」をタップするか、画面の左側からスワイプして徐々にホーム画面に遷移します。

コピーして貼り付けるための正確なコード サンプルを探しているわけではありません。むしろ、どの概念と Apple API を活用するかについての高レベルのガイダンスを求めています。すなわち、

  • これはどのトランジション/アニメーション API を使用する可能性がありますか?
  • 「Places」が展開されたら、View Controller全体の周りに緑色の境界線を表示するにはどうすればよいですか?
0 投票する
2 に答える
2774 参照

ios - カスタム トランジションにより、黒い画面または応答しない画面が表示される

カスタムを作成しましたUIViewControllerAnimatedTransition(コードを以下に示します)。ビューを閉じると、トランジションはアニメーションのみに焦点を当てます。ビューを閉じると、黒い画面が表示され、master消える前に短時間表示されます。コードベルをご覧ください

この行をコメントアウトすると[transitionContext completeTransition: YES];、黒いビューは表示されませんが、master応答しません。アイデアはから適応されましたhttps://github.com/mluisbrown/LCZoomTransition

問題がある場合は、お知らせください。十分に提供できれば幸いです。

アップデート

更新 2

これが私が移行を提示する方法です:

0 投票する
2 に答える
642 参照

ios - プログラムで作成されたセグエ IOS を使用してカスタム遷移アニメーターを呼び出す

私が取り組んでいるプロジェクトでは、2 つのビュー コントローラー間のカスタム トランジションが必要です。次のようにメソッドをオーバーライドして、UIViewControllerTransitioningDelegate をセットアップして実装しました。

そして、メソッドをオーバーライドして UIViewControllerAnimatedTransitioning を正しく実装するように MyAnimator サブクラスをセットアップしました。

このアニメーション遷移をトリガーするために使用するセグエは、次のようにプログラムで作成および呼び出されます。

プログラムでセグエを作成する理由: from (からの遷移) と to (への遷移) ビュー コントローラーを別々のストーリーボードに持っています。

問題/質問: 多くの例を見てきましたが、すべて次のようなストーリーボード セグエを使用してカスタム トランジションを処理します。

カスタム遷移が行われるように、上記のプログラムで作成されたセグエに対してメソッド-performでどのように定義する必要がありますか。

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

ios - カスタム ビュー遷移中のビュー階層

現在、提供されている 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では、これは最初と最後のフレームに発生するようです。それはどこかに文書化されていますか?
0 投票する
1 に答える
55 参照

ios - アニメーション化されていない場合、カスタム トランジションの終了を処理しますか?

アプリでカスタム トランジションを使用しています。

animateTransition与えるメソッドがあり、ブロックの完了時にをUIViewControllerContextTransitioningに設定できます。containerView.backgroundColorUIColor.blackColor()UIView.animate..

presentViewController:アニメーションを に設定して 呼び出すと、問題が発生しfalseます。アニメーションanimateTransitionがないということは、メソッドが呼び出されないことを意味するため、背景が意図したとおりに黒くなりません。

カスタムトランジションをアニメーション化せずに、コンテナビューの背景色を黒に設定する方法が他にあるのだろうかと思っていました.

ちなみに、アニメーション化しないからといって、アニメーション化しないわけではありません。そして、アニメーションでそれを削除しても、containerViewを黒くする機会がまだ得られないため、問題は解決しません。