我试图实现此git仓库中的流行/流出过渡动画:https://github.com/freedom27/PopInAndOutCollectionViewTransition
该代码适用于UICollecitonView,但是,我有一个UIViewController,其中嵌入了UiCollectionView。因此,我的协议一直出错:
protocol CollectionPushAndPoppable {
var sourceCell: UICollectionViewCell? { get }
var collectionView: UICollectionView? { get }
var view: UIView! { get }
}
该错误实质上表示我的ViewController不符合协议。
extension CollectionViewController: CollectionPushAndPoppable {}
这一行给了我错误。
如何修复协议,使其符合我的UIViewController
中的CollectionView答案 0 :(得分:0)
要符合协议,您的对象需要实现所有功能和属性。在这种情况下,您需要将这些属性添加到CollectionViewController
。如果您的CollectionViewController
是UIViewController
,则它已经拥有view
属性。
extension CollectionViewController: CollectionPushAndPoppable {
var sourceCell: UICollectionViewCell? {
return UICollectionViewCell()
}
var collectionView: UICollectionView? {
return myViewController
}
}
您可以在官方Swift文档中了解有关协议的更多信息:https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Protocols.html