我有兴趣实现与Evernote的iOS应用程序的转换非常相似的视图控制器之间的转换:
当“地方”被点击时,它将顺利地扩展到看起来像UINavigationController的绿色边框周围.要折叠它,我可以点击“返回”或从屏幕左侧滑动,逐渐过渡到主屏幕.
我不是在寻找准确的代码示例来复制粘贴,而是针对哪些概念和Apple API来进行高层次的指导.进一步来说,
>哪些转换/动画API可能使用?
>如果扩展“地方”,怎样才能实现整个视图控制器的绿色边框?
解决方法
一种考虑的方法:您可以使用具有两种不同布局的UICollectionView.未扩展的布局可以只是一个UICollectionViewFlowLayout,扩展的布局可以是一个子类,它可以缩放/淡化除了要扩展的单元格之外的所有单元格.然后可以使用setCollectionViewLayout:animated:在它们之间切换.
绿色边框只是父视图的背景,因为这不会涉及到一个UINavigationController.
如果您想要从展开的布局返回的交互式滑动手势,请将UIScreenEdgePanGestureRecognizer连接到交互式集合视图布局动画(请参阅startInteractiveTransitionToCollectionViewLayout:completion :).