0
我正在嘗試使用UIPanGestureRecognizer
自定義可滑動UICollectionViewCell
。這裏是我的代碼:UICollectionViewCell在更新時不會更改
在定製UICollectionViewCell
:
func setup() {
attributes = delegate.attributesForCell(self)
selectionView = UIView(frame: attributes.frame)
self.addSubview(selectionView)
let cellPan = UIPanGestureRecognizer(target: self, action: "cellDidPan:")
selectionView.addGestureRecognizer(cellPan)
}
func cellDidPan(gesture: UIPanGestureRecognizer) {
switch gesture.state {
case .Began:
originalFrame = attributes.frame
case .Changed:
let translation: CGPoint = gesture.translationInView(selectionView)
attributes.frame = CGRect(origin: CGPoint(x: originalFrame.origin.x + translation.x, y: originalFrame.origin.y), size: originalFrame.size)
println("t \(translation.x)")
println("c \(attributes.center)")
println("f \(attributes.frame)")
case .Ended:
println("nothing here yet")
default:
println("Unrecognized gesture state")
}
}
在UICollectionViewController
(細胞的代表):
func attributesForCell(cell: SwipeableCollectionViewCell) -> UICollectionViewLayoutAttributes {
let indexPath = collectionView.indexPathForCell(cell)
return collectionView.layoutAttributesForItemAtIndexPath(indexPath)
}
,當我遇到我的UICollectionViewCell
刷卡,幀記錄正確的改變(除x座標外,所有東西都保持不變,只剩下較小的向左滑動和向右向右滑動),但單元格停留在相同的位置。
我正在使用UICollectionViewFlowLayout
,並設置故事板和界面生成器中的所有內容。
如果您已經找到問題的答案,請將其寫下來作爲答案,提供詳細的信息,以便在未來遇到相同問題時幫助其他人。 – Neeku