在表格视图中滚动时,它不会在您手指所在的单元格上开始执行表格委托方法didSelectRowAtIndexPath方法。如果我点击该调用,而不是向上/向下滑动,它会授予我带有委托方法的indexPath。

我想知道在滚动tableView时是否可以获得手指所在的单元格的indexPath。这可能吗?

最佳答案

这可能是要走的路:

class TableViewController: UITableViewController {

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 50
    }

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        var cell: UITableViewCell! = tableView.dequeueReusableCellWithIdentifier("Cell")
        if cell == nil {
            cell = UITableViewCell(style: .Default, reuseIdentifier: "Cell")
        }

        cell.textLabel?.text = "\(indexPath.row)"

        return cell
    }

    override func scrollViewWillBeginDragging(scrollView: UIScrollView) {
        let location = scrollView.panGestureRecognizer.locationInView(tableView)
        guard let indexPath = tableView.indexPathForRowAtPoint(location) else {
            print("could not specify an indexpath")
            return
        }

        print("will begin dragging at row \(indexPath.row)")
    }

}

关于ios - 滚动时获取UITableView单元格的indexPath,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37953654/

10-14 23:40