我正在使用UITableView。
每个单元格都有一系列UIImageViews,它们的url被保存到一个数组中。
当我点击某个图像时,我的手势识别器的选择器应该同时获得图像的标记和单元格的indexPath.row
。
我目前正在从sender
参数中获取图像标记,这就是我尝试获取索引路径的方式:
let point = sender.locationInView(self.tableView)
let indexPathRow = self.tableView.indexPathForRowAtPoint(point)?.row
然而,这看起来并没有给我正确的排。 有没有一种简单的方法可以将这两个参数传递给我的手势选择器?感谢。
答案 0 :(得分:2)
您可以将您正在使用的手势识别器子类化,并添加所需的额外变量。示例如下。
class CustomGestureRecognizer : UITapGestureRecognizer {
var url : NSURL?
// any more custom variables here
init(target: AnyObject?, action: Selector, url : NSURL) {
super.init(target: target, action: action)
self.url = url
}
}
然后当你想要把网址拿回来时。
func didTap(sender : CustomGestureRecognizer) {
print(sender.url)
}
答案 1 :(得分:0)
我认为最简单的方法是将UIImageView子类化为保存NSIndexPath:
files:
"/opt/elasticbeanstalk/tasks/taillogs.d/nginx.conf" :
mode: "000644"
owner: root
group: root
content: |
/var/log/nginx/*.log
commands:
rm_old_conf:
command: "rm nginx.conf.bak"
cwd: "/opt/elasticbeanstalk/tasks/taillogs.d/"
ignoreErrors: true
然后获取indexPath:
class MyImageView: UIImageView {
var indexpath:NSIndexPath!
}