【问题标题】:Cannot override mutable property 'collectionView' of type 'UICollectionView?' with covariant type 'GeminiCollectionView?'无法覆盖“UICollectionView”类型的可变属性“collectionView”?具有协变类型“GeminiCollectionView?”
【发布时间】:2020-12-08 19:13:04
【问题描述】:

我有一个自定义集合视图,一切正常。我想在水平滑动单元格时加入“Gemini”来制作漂亮的动画。我相信问题不在于双子座,我认为将 VC 类更改为任何其他类都会发生同样的情况,但我不知道如何解决这个问题,因为我以前从未遇到过这个问题,有没有捷径?

我已经安装了 pod 并将其导入到代码中。
我有一个 UICollectionViewController,但要使用双子座,我需要将我的 collectionView 从 Storyboard 连接到 ViewController。在此之前,我在 Storyboard 中为我的 CollectionView 放置了一个类,使其成为 GeminiCollectionView,如下图所示:

之后,我也在 ViewController 中为我的 CollectionView 更改了一个类,如下图所示,并得到了这三个错误:

在后面的代码中,它没有显示任何错误:
viewDidLoad

collectionView.gemini
            .rollRotationAnimation()
            .degree(45)
            .rollEffect(.rollUp)


cellForItemAt

self.collectionView.animateCell(cell)


scrollViewDidScroll

self.collectionView.animateVisibleCells()


willDisplay cell

if let cell = cell as? RatingCell {
//RatingCell inhertis the GeminiCell class
            self.collectionView.animateCell(cell)
        }

所以,除了我在开头和这里提到的声明之外,所有代码都很好:

@IBOutlet var collectionView: GeminiCollectionView!



等待随机的人取消投票:P

【问题讨论】:

    标签: ios swift uicollectionview uicollectionviewcell gemini


    【解决方案1】:

    已解决

    @IBOutlet var collectionView: GeminiCollectionView!
    

    那条线是个问题。似乎您不能默认 Swift 的名称来覆盖可变属性,对于集合视图,collectionView 和表视图的 tableView
    我把那行改成

    @IBOutlet var collView: GeminiCollectionView!
    

    ...错误消失了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-12
      • 1970-01-01
      • 2013-04-05
      • 1970-01-01
      • 1970-01-01
      • 2015-04-01
      • 1970-01-01
      相关资源
      最近更新 更多