gpt4 book ai didi

ios - 在 tableview 中滑动手势

转载 作者:行者123 更新时间:2023-11-28 14:14:26 24 4
gpt4 key购买 nike

我想在我的手机上添加滑动手势。它工作正常。但问题是当我在第一个单元格上滑动但我的第五个单元格也滑动时。我知道这个索引路径问题。请帮助。但我被困了几个小时。

让 swipeLeft = UISwipeGestureRecognizer(target: self, action: #selector(self.handleLeftSwipe)) swipeLeft.direction = UISwipeGestureRecognizerDirection.left table.addGestureRecognizer(向左滑动)

let swipeLeftd = UISwipeGestureRecognizer(target: self, action: #selector(self.handleLeftSwipes))
swipeLeftd.direction = UISwipeGestureRecognizerDirection.right
table.addGestureRecognizer(swipeLeftd)

@objc func handleLeftSwipe(sender: UITapGestureRecognizer) {
print("rigt called")

let location = sender.location(in: self.table)
let indexPath = self.table.indexPathForRow(at: location)
let cell = self.table.cellForRow(at: indexPath!) as! TableViewCell
print("swipe")
cell.myView.frame.origin.x = -94
}

@objc func handleLeftSwipes(sender: UITapGestureRecognizer) {
print("labelSwipedLeft called")
let location = sender.location(in: self.table)
let indexPath = self.table.indexPathForRow(at: location)
let cell = self.table.cellForRow(at: indexPath!) as! TableViewCell
print("swipe")
cell.myView.frame.origin.x = 80
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let identifier = "TableViewCell"
var cell: TableViewCell! = tableView.dequeueReusableCell(withIdentifier: identifier) as? TableViewCell
if cell == nil {
var nib : Array = Bundle.main.loadNibNamed("TableViewCell",owner: self,options: nil)!
cell = nib[2] as? TableViewCell
}

return cell!
}

最佳答案

这样做的原因是重复使用您的细胞。我假设您没有在 prepareForReuse() 中设置任何内容。那么,您的问题在 cell.myView.frame.origin.x = 80 行,对吗?只需在 prepareForReuse 或 cellForRowAt indexPath 中将其设置为默认值即可。

关于ios - 在 tableview 中滑动手势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52255342/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com