tomoyaonishiのブログスマートフォン用の表示で見るtomoyaonishiのブログiOSのことを中心に・・・その他もあるよ!この広告は、90日以上更新していないブログに表示しています。1前回以下の記事でカスタムアニメーションとカスタムプレゼンテーションについて説明しました。tomoyaonishiのブログ前回の記事で説明しきれなかったインタラクティブトランジションについて説明します。インタラクティブトランジションUIViewControllerInteractiveTransitioningというものを使います。これに関しては、ソースコードをみたほうがわかりやすいとおもいます。transitioningDelegateを以下のようにします。この辺わからない人は前回の記事をみてください。}}interactionControllerForDismissalでdismissをインタラクティブにするということになります。presentのときは同じようなメソッドがあるのでそちらを実装します。実際に指に追従するようなViewControllerのdismissの仕方はどのように実装するのでしょうか。nil)この辺がミソでしょうか。トランジションが完了したのか、キャンセルされてもとに戻るのか、dismiss自体をいつ開始させるかを自分で書く感じです。ViewController側でPullToDismissControllerのobservePanGesture()にUIPanGestureをセットしてあげます。カスタムトランジションで登場するクラスやprotocolはどれも名前がわかりにくいですが、理解すればかなり使いまわしがしやすい設計になっているようです。ViewControllerと密接に関わるため、お互いに参照をもたせてしまうようなやり方が一番いいかもしれません。他にも実際にリッチに作ろうとすると必要なフラグも多くなり、ただでさえややこしいので変に設計を意識せずに惜しみなく変数にもたせてしまうやり方がいいとおもいます。インタラクティブトランジションと通常のトランジションを切り替えたいときは、interactionControllerForDismissal()でnilを返せばよいです。カスタムトランジションはカスタムアニメーション、カスタムプレゼンテーション、インタラクティブトランジションの組み合わせで自由に作ることができます。それぞれを単品で理解した上で、取り掛からないとわけがわからなくなってしまうと思うので、1つずつ丁寧にみてみてください。UIPercentDrivenInteractiveTransitionというクラスがありますが、こちらは進捗率に応じて、AnimationControllerで定義したアニメーションを進めるというものです。使い分けするといいでしょう。ソースコードはこちら。1月別アーカイブ参加グループプログラミングはてなブログをはじめよう!tomoyaonishiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。