我有一个功能可以翻转集合视图单元格,效果很好。我的问题是我想翻转所有单元格,而不仅是这个可见单元格,因此当我滑动到下一个单元格时,它将被翻转。
这就是我用来翻转一个可见单元格的东西。任何在正确方向上的帮助将不胜感激。
func flipAction() {
let visibleRect = CGRect(origin: mainCollecView.contentOffset, size: mainCollecView.bounds.size)
let visiblePoint = CGPoint(x: visibleRect.midX, y: visibleRect.midY)
let visibleIndexPath = mainCollecView.indexPathForItem(at: visiblePoint)
let cell = mainCollecView.cellForItem(at: visibleIndexPath!) as! MainCollectionViewCell
if cell.isFlipped == false {
//Flip card
cell.flip()
cell.isFlipped = true
flipBtn.setImage(UIImage(named: "reversed"), for: .normal)
} else {
// Flip the card back
flipBtn.setImage(UIImage(named: "Calendar"), for: .normal)
cell.flipBack()
cell.isFlipped = false
}
}
答案 0 :(得分:0)
您可以使用不同的方法。但是,如果您希望所有内容都被翻转,请在您的Class中使用一个变量,例如
var isFlipped:Bool = false
现在在您的功能内部:
flipAction() {
isfliped = !isfliped
mycollection.reload() //where mycollection is yours
}
然后进入您的
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell
{
if isfliped == false {
// your code for cell when is not flipped
} else {
//your code for cell when is flipped
}
这样,所有单元格将立即翻转或不翻转,而不取决于它们是否可见。