Ios 弹出过渡动画

Ios 弹出过渡动画,ios,swift,uicollectionview,transition,swift-protocols,Ios,Swift,Uicollectionview,Transition,Swift Protocols,我正在尝试实现此git repo中的弹出/弹出转换动画: 该代码用于UiCollectionView,但是,我有一个UIViewController,其中嵌入了UiCollectionView。因此,我的协议不断出现错误: protocol CollectionPushAndPoppable { var sourceCell: UICollectionViewCell? { get } var collectionView: UICollectionView? { get }

我正在尝试实现此git repo中的弹出/弹出转换动画:

该代码用于UiCollectionView,但是,我有一个UIViewController,其中嵌入了UiCollectionView。因此,我的协议不断出现错误:

protocol CollectionPushAndPoppable {
    var sourceCell: UICollectionViewCell? { get }
    var collectionView: UICollectionView? { get }
    var view: UIView! { get }
}
该错误实质上表明我的ViewController不符合协议

extension CollectionViewController: CollectionPushAndPoppable {}
这行给了我一个错误


如何修复协议,使其符合UIViewController中的CollectionView

要符合协议,您的对象需要实现所有功能和属性。在这种情况下,您需要将这些属性添加到
CollectionViewController
。如果您的
CollectionViewController
UIViewController
,则它已经具有
view
属性

extension CollectionViewController: CollectionPushAndPoppable {

    var sourceCell: UICollectionViewCell? {
        return UICollectionViewCell()
    }

    var collectionView: UICollectionView? {
        return myViewController
    }

}
您可以在官方Swift文档中了解有关协议的更多信息: