【发布时间】:2016-09-03 23:20:10
【问题描述】:
我在MyTableViewCell 类中有两个UIViewControllers,分别称为 upVote 和 downVote。我已经添加了手势识别器,用于以编程方式点击这些视图,但我不确定如何获取父单元格或单元格的索引,所以我知道被点击的UIView 在哪个单元格中。如何获取单元格或索引函数handleTapUp和handleTapDown中被点击的单元格?
这是我的课
class MyTableViewCell: UITableViewCell {
// MARK: Properties
@IBOutlet weak var nameLabel: UILabel!
@IBOutlet weak var upVote: UIImageView!
@IBOutlet weak var downVote: UIImageView!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
let tapUp = UITapGestureRecognizer(target: self, action: "handleTapUp:")
tapUp.delegate = self
upVote.addGestureRecognizer(tapUp)
let tapDown = UITapGestureRecognizer(target: self, action: "handleTapDown:")
tapDown.delegate = self
downVote.addGestureRecognizer(tapDown)
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
func handleTapUp(sender: UITapGestureRecognizer? = nil) {
// handling code
// get cell(index)
}
func handleTapDown(sender: UITapGestureRecognizer? = nil) {
// handling code
// get cell()
}
}
我已经尝试使用 self.superclass 来获取 uitableviewcell,当我打印调试描述时它会显示 uitableviewcell,但是每当我尝试对对象执行任何其他操作时,我都会收到一个错误,即 self.superclass 是 AnyObject 类型。我尝试过以许多不同的方式声明/强制转换 self.superclass ,但都没有奏效。这似乎应该很简单,所以希望我遗漏了一些东西。
【问题讨论】:
标签: swift uitableview uiview