Ios 向TableViewCell.swift添加点击手势识别器
我有一个带有图像的表格视图单元格,我已将轻触手势识别器连接到该单元格 表视图中原型TableViewCell的图像,带有两个标签和一个图像。顶部有轻触手势识别器徽标: 当我尝试按住ctrl键并将点击手势识别器拖动到Ios 向TableViewCell.swift添加点击手势识别器,ios,swift,uitableview,Ios,Swift,Uitableview,我有一个带有图像的表格视图单元格,我已将轻触手势识别器连接到该单元格 表视图中原型TableViewCell的图像,带有两个标签和一个图像。顶部有轻触手势识别器徽标: 当我尝试按住ctrl键并将点击手势识别器拖动到TableViewCell控制器、TableViewCell文件或任何其他文件时,它不允许我这样做 然而,在我的另一个不是表视图的视图中,我可以让它正常工作。我是斯威夫特的新手。有谁知道为什么会发生这种情况,以及我能做些什么来帮助它(我知道我可以用一个按钮来代替,但我不会从中学到任何
TableViewCell控制器
、TableViewCell
文件或任何其他文件时,它不允许我这样做
然而,在我的另一个不是表视图的视图中,我可以让它正常工作。我是斯威夫特的新手。有谁知道为什么会发生这种情况,以及我能做些什么来帮助它(我知道我可以用一个按钮来代替,但我不会从中学到任何东西)
TableViewCell
和TableViewCellController
文件都有其默认代码
编辑:我希望用户能够点击图像,将+1添加到表格单元格中类的Int属性中。类中的一个UILabel和单元格将被更新。这是我在常规视图中可以毫无问题地实现的行为,我希望在表视图中实现。对于
UITableViewCell
您不能通过故事板向其添加uitappostation
,因为它只是一个与其他单元不同的原型单元。如果您确实想这样做,您可以在委托中以编程方式这样做:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = self.tableView.dequeueReusableCellWithIdentifier("cell") as UITableViewCell
let tapGesture = UITapGestureRecognizer(target: self, action: "SomeMethod")
cell.myImageView.addGestureRecognizer(tapGesture)
return cell
}
但我不明白你为什么要这么做。如果您只想在点击单元格时执行某些操作或调用某些函数,则应使用didSelectRowAtIndexPath
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
print("cell at #\(indexPath.row) is selected!")
}
你需要交换单元格菜单吗?@NinjaDeveloper我不确定。我不知道那会有什么效果。在点击图像时,它会将+1添加到表单元格中类的Int属性中。@Weirdali看起来您只需要一个带有图像的按钮。只需用按钮创建一个自定义单元格,并将按钮插座连接到自定义单元格。你说我不能向原型单元格添加UITappsignature,但它并不总是原型单元格?我希望以与单个视图相同的方式向表格单元格添加功能,这涉及到点击单元格的某些部分,而不是整个内容。看来didSelectRowAtIndexPath不会做我想做的事。对不起,如果我误解了你。你是说
返回单元格
而不是返回UITableViewCell()
?@Weirdali在故事板上,UITableViewCell
将是一个原型,因为它可能是数千行甚至数百万行,所以它正在被重用,而不是每次都创建一个新的。如果要添加到某些视图,可以修改cellForRowAtIndexPath。我已经为你更新了。