如何到达ViewController上的UICollectionViewCell

问题描述 投票:0回答:1

我有一个collectionViewCell,里面有2个imageView。我从这个单元格创建了 8 个。我有一个名为 Flip 的函数,它允许我更改 imageView。我想做的是,当游戏开始时,我的所有 8 个单元格都会显示出来(即 frontImageView),然后 10 秒后它们全部反转。我无法从 ViewController 访问 CollectionViewCell。我希望我能够解释我的问题。

这是我在 CollectionViewCell 上的翻转代码

func flip() {
        
        UIView.transition(from: frontImageView, to: backImageView, duration: 0.3, options: [.transitionFlipFromLeft, .showHideTransitionViews], completion: nil)
        
    }

我尝试将静态放在图像视图前面。 我尝试将 cellForItemAt 的 indexPath 分配给一个变量,并使用该变量将其转换为 ColletcionViewCell,但它不起作用。

swift casting uicollectionview uicollectionviewcell
1个回答
0
投票

我们假设:

  • 你有一个
    UICollectionView
    ,变量名称为
    collectionView
  • 您的集合视图单元格类名为
    GameCell
  • GameCell
    有公共
    flip()
    功能

你可以这样做:

    let cells = collectionView.indexPathsForVisibleItems
    cells.forEach { idxPath in
        if let c = collectionView.cellForItem(at: idxPath) as? GameCell {
            c.flip()
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.