私はcollectionViewCellでUISwipeGestureRecognizerを実装しようとしていますので、左にスワイプするとセルは消えます。私は実装しようとしている(私はそれを行う方法を見つけることができません)スワイプをアニメーションするので、私は左にセルをスワイプすると、フェード効果で消えます。これは私がメソッド内cellForItemAtindexPath
UISwipeGestureRecognizer animation
let cSelector = #selector(reset(sender:))
let UpSwipe = UISwipeGestureRecognizer(target: self, action: cSelector)
UpSwipe.direction = UISwipeGestureRecognizerDirection.left
cell.addGestureRecognizer(UpSwipe)
方法
func reset(sender: UISwipeGestureRecognizer) {
let cell = sender.view as! UICollectionViewCell
let i = self.collectionView?.indexPath(for: cell)!.item
self.messages.remove(at: i!)
self.collectionView?.reloadData()
}
感謝を持っているコードです!
編集: 私はそれを行う最も簡単な方法を見つけたと思うが、私はいくつかの問題を抱えている。私はセルにUIPanGestureRecognizerを実装しようとしました。これは私が、セルの座標を見つけるためにしようとしているcellForItemAt
let gestureRecognizer = UIPanGestureRecognizer(target: self, action: #selector(handlePan(gestureRecognizer:)))
cell.addGestureRecognizer(gestureRecognizer)
方法
func handlePan(gestureRecognizer: UIPanGestureRecognizer) {
if gestureRecognizer.state == .began {
// When the drag is first recognized, you can get the starting coordinates here
}
if gestureRecognizer.state == .changed {
let translation = gestureRecognizer.translation(in: self.view)
// Translation has both .x and .y values
if translation.x == translation.x - 100 {
//Method i putted before
reset(sender: gestureRecognizer)
}
//print(translation.x, translation.y)
}
}
...のように、それが時点でだとき、それはどのように見えるかですセルの左にあるセルは、何らかの種類のフェードアニメーションを表示して消滅します。
ヘルプ?ありがとう!!!
ええ、私はアニメーションでそれを削除したいです。 – Edwjonn
これはあなたを助けるかもしれないhttps://stackoverflow.com/questions/16690831/uicollectionview-animations-insert-delete-items – Krunal
事は私のセル幅はcollectionViewの全幅なので、私はスワイプを探しています左下の効果。 UITableViewのようなものですが、私が持っているコードがあります。迅速に! – Edwjonn