gpt4 book ai didi

ios - 找出单击单元格的坐标

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

我在快速构建我的应用程序时遇到了问题。基本上我有一个在自定义单元格中显示数据的表格 View 。现在这个单元格被分成两个图像;一个在左边,一个在右边。

当单元格被点击时; didSelectRowAtIndexPath 方法被调用,但是我想找出单元格的哪一部分被点击;无论是右图还是左图。

实现此目的的一种方法是覆盖我的自定义单元格类的 touchesbegan 事件;我可以通过这种方式获取触摸坐标并手动检查是否选择了左图像或右图像;然而,这会导致 didSelectRowAtIndexPath 事件没有被触发。

override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
let touch = touches.first as! UITouch
let location = touch.locationInView(self)
var xcoord = location.x
touchPosition = xcoord
}

此代码是我尝试在我的自定义单元格类中使用的代码,但我现在不知道如何触发此单元格所在表的 didSelectRowAtIndexPath 事件。我也没有提到那个表。

这里的 touchPosition 是一个全局变量,我试图设置它以便我可以在我的 didSelectrowAtIndexPath 方法中访问它,但它没有被触发。

最佳答案

touchesBegan 函数内设置单元格的 selected 属性应该使委托(delegate)调用 didSelectRowAtIndexPath

如果还是不行,你可以试试这个:

在您的自定义单元格类中创建一个 weak var tableView: UITableView?。还要添加 var indexPath: NSIndexPath 以了解单元格在 UITableViewCell 中的索引路径。然后在创建单元格时,将 tableView 设置为您的 TableView ,并将 indexPath 设置为其索引路径。

现在,您有一个指向 TableView 委托(delegate)的链接。因此,在您的自定义单元格类 touchesBegan 中,您可以调用 tableView?.delegate?.tableView?(tableView, didSelectRowAtIndexPath: indexPath)

关于ios - 找出单击单元格的坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30309648/

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