【问题标题】:How to get the row index of a UITableView by dragging a UIImageView on it如何通过在其上拖动 UIImageView 来获取 UITableView 的行索引
【发布时间】:2014-01-16 12:55:10
【问题描述】:

我正在开发一个应用程序,该应用程序需要我将作为 UIImageView 的彩色框拖到 UITableView 的一行顶部。当我释放特定行上的彩色框时,我想将该行的颜色更改为框的颜色。 目前我可以拖放该框,但在获取释放触摸的行的行索引时遇到问题。 所附图片描述了我想要做的事情。我已经将蓝色行上的红色框拖到了,我想将行的颜色从蓝色更改为红色。但是我想不出一种方法来获取我放置盒子的行索引。

【问题讨论】:

    标签: ios iphone uitableview drag-and-drop uiimageview


    【解决方案1】:

    你可以通过在rootPoint获取indexPath来获取tableView单元格,像这样。

    CGPoint touchPoint = [[touches anyObject] locationInView:self.tableView];
    
    CGPoint cellPoint= [sender.superview convertPoint:touchPoint toView:self.tableView];
    NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:cellPoint];
    UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
    

    【讨论】:

    • 你能帮忙找到根视点吗?我目前正在使用 touchesEnded 方法。
    • 查看编辑后的答案...我认为我们可以在视图中获取触摸对象的触摸点。
    • 我明白你的意思,但我不太明白什么是 rootViewPoint 以及如何获得它。
    • 应该是cellPoint
    • CGPoint touchPoint1 = [[touches anyObject] locationInView:self.myTableView]; NSIndexPath *indexPath = [self.myTableView indexPathForRowAtPoint:touchPoint1]; UITableViewCell *cell = [self.myTableView cellForRowAtIndexPath:indexPath]; int abc = indexPath.row;我就是这样解决的。非常感谢你的帮助。它现在工作正常:)
    猜你喜欢
    • 1970-01-01
    • 2023-03-27
    • 2014-07-02
    • 1970-01-01
    • 2014-09-24
    • 2012-09-12
    • 1970-01-01
    • 2019-12-23
    • 2023-04-05
    相关资源
    最近更新 更多