我试图将手势识别器添加到表 View 单元格中的对象(特别是图像)上。现在,我对手势识别器很熟悉,但是对于如何进行设置感到有些困惑。实际的表格单元格没有viewDidLoad方法,因此我认为无法在其中声明手势识别器。

这个问题(UIGestureRecognizer and UITableViewCell issue)似乎是相关的,但是答案是在 objective-c 中,不幸的是,我只流利地流利。

如果有人可以帮助我解决如何将手势识别器添加到表单元格中的对象上(不是整个表格 View ),或者甚至可以帮助我将上述链接的答案转换为swift,我将d感激不尽

最佳答案

这是链接文章的解决方案的快速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!
                }
            }
        }
    }

}

关于ios - Swift-将手势识别器添加到表单元格中的对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32290126/

10-09 21:50