我有一个 UICollectionView,当选择一个项目时,我希望它能够全屏显示动画。因此它会从单元格大小过渡到全屏并成为 UIViewController。 Pinterest 和 Evernote 都有这种行为,点击单元格会将单元格转换为全屏视图控制器。
有没有任何例子说明如何做到这一点?我搜索了几个项目,但没有找到任何有关将单元格转换为全屏视图控制器的说明。
Pinterest 在这里讨论它:https://medium.com/@Pinterest_Engineering/behind-the-pins-building-pinterest-3-0-for-ios-100f57f6940 https://medium.com/@Pinterest_Engineering/behind-the-pins-building-pinterest-3-0-for-ios-100f57f6940
实现这一转变并不困难。正如文章所说,他们自定义了一个过渡来实现 UIViewControllerAnimatedTransitioning 协议,仅此而已。您需要计算您点击动画的 imageView 的位置的新尺寸。就是这样。
我们这两个app,都是通过上面的这个方法来实现这种类似的转场效果的。
https://itunes.apple.com/app/hua-ban-quan-qiu-you-mei-tu/id494813494?mt=8 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 https://itunes.apple.com/app/mei-tu-sou-sou-wan-zhuan-wei/id781146829?mt=8
我创建了这个repo https://github.com/demon1105/PinterestSwift几天前。有了 Swift,除了一些小问题之外,我几乎完成了这个过渡,这是我第一个基于 Swift 的演示项目。但如果你不是 iOS 开发新手并且你会学习 Swift 的话,这也不难理解。我稍后会完成它并修复错误。
在实际项目中,它比演示项目更复杂,但有了它,也许您就知道如何实现这种转换。
祝你好运。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)