web-dev-qa-db-ja.com

UICollectionViewからPinterest / EvernoteのようなUIViewControllerに移行する方法

UICollectionViewがあり、アイテムが選択されたときに全画面をアニメーション化したいのですが。そのため、セルのサイズからフルスクリーンに移行し、UIViewControllerになります。 PinterestとEvernoteの両方にこのような動作があり、セルをタップすると、セルがフルスクリーンビューコントローラに切り替わります。

これを行う方法の例はありますか?いくつかのプロジェクトを検索しましたが、セルを全画面ビューコントローラーに移行する方法を示す図は見つかりませんでした。

Pinterestはここでそれを議論します: https://medium.com/@Pinterest_Engineering/behind-the-pins-building-pinterest-3-0-for-ios-100f57f694

enter image description here

30
user1218464

この移行を実装することは難しくありません。記事で述べたように、UIViewControllerAnimatedTransitioningプロトコルを実装するためにトランジションをカスタム化しました。 imageViewがアニメーション化するためにタップした位置の新しいサイズを計算する必要があります。それでおしまい。

この2つのアプリはすべて、上記のこのメソッドによって、このような遷移効果を実装しています。

https://iTunes.Apple.com/app/hua-ban-quan-qiu-you-mei-tu/id494813494?mt=8

そしてこれ:

https://iTunes.Apple.com/app/mei-tu-sou-sou-wan-zhuan-wei/id781146829?mt=8


私はこれを数日前に作成しました repo 。そして、Swiftを使用して、少しの問題以外にこの移行をほぼ終了しました。これは、Swiftをベースにした初めての実践的なデモプロジェクトです。しかし、あなたがiOS開発の新入生ではなく、あなたがSwift BTWを学ぶとしたら、理解することは難しくありません。私はそれを終え、後でバグを修正します。

実際のプロジェクトでは、デモよりも複雑ですが、それで、この種の移行を実現する方法を知っているかもしれません。

幸運を。

19
demon