我将TableViewCell放在它自己的名为VersionCellVC的类中。
我的UIImageView完全掩盖了细胞;所以用户别无选择,只能点击UIImageView,而不是TableViewCell。
我想执行一个segue或呈现一个vc,我已经创建了手势识别器及其调用的函数。但是,由于我在UITableViewCell的自定义子类中,系统告诉我我不允许使用@Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger", @data_valmsg_for="partial_name" })
@Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control", @id="partial_name" } })
和present(vc:animate:complete)
函数,因为它们不是UITableViewCell类的成员。
如何在不将UIImageView更改为UIButton的情况下解决此问题?
答案 0 :(得分:0)
这样的事情(在包含tableview的viewcontroller中)?
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "CustomCell", for: indexPath) as! CustomCell
cell.myImageView?.isUserInteractionEnabled = true
cell.myImageView?.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(imageViewTapped(imageView:))))
return cell
}
func imageViewTapped(imageView: UIImageView) {
if let indexPath = tableView.indexPathForRow(at: imageView.convert(.zero, to: tableView)) {
print("user tapped imageview at indexPath \(indexPath)")
}
}