Swift - 在表格单元格中为对象添加手势识别器

dan*_*tin 8 xcode uigesturerecognizer ios swift

我正在尝试向表格视图单元格中的对象(特别是图像)添加手势识别器.现在,我对手势识别器很熟悉,但是对于如何设置这个问题我感到有些困惑.实际的表格单元格没有viewDidLoad方法,所以我认为我不能在那里声明手势识别器.

这个问题(UIGestureRecognizer和UITableViewCell问题)似乎是相关的,但答案是在客观C中,不幸的是我只能流利地使用swift.

如果有人可以帮我解决如何向表格单元格中的对象添加手势识别器(不是整个桌面视图),或者甚至可能帮助我将上述链接中的答案翻译成swift,我'不胜感激

小智 15

这是链接帖子解决方案的快速Swift翻译,将滑动手势识别器添加到UITableView,然后确定滑动发生在哪个单元格上:

class MyViewController: UITableViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        var recognizer = UISwipeGestureRecognizer(target: self, action: "didSwipe")
        self.tableView.addGestureRecognizer(recognizer)
    }

    func didSwipe(recognizer: UIGestureRecognizer) {
        if recognizer.state == UIGestureRecognizerState.Ended {
            let swipeLocation = recognizer.locationInView(self.tableView)
            if let swipedIndexPath = tableView.indexPathForRowAtPoint(swipeLocation) {
                if let swipedCell = self.tableView.cellForRowAtIndexPath(swipedIndexPath) {
                    // Swipe happened. Do stuff!
                }
            }
        }
    }

}
Run Code Online (Sandbox Code Playgroud)