如果在表格视图单元格中点击标签,我想执行Segue将您带到另一页面。
我收到以下错误类型[UITableViewCell]的值没有成员' performSegueWithIdentifier'
class IdeaCell: UITableViewCell {
override func awakeFromNib() {
super.awakeFromNib()
let tapUser = UITapGestureRecognizer(target: self, action: #selector(IdeaCell.goToUserPage(_:)))
tapUser.numberOfTapsRequired = 1
usernameLbl.addGestureRecognizer(tapUser)
}
func goToUserPage(sender: UITapGestureRecognizer) {
self.performSegueWithIdentifier("goToTableFromOriginal", sender: nil)
}
}
答案 0 :(得分:0)
如果您在管理表视图的视图控制器中实现table(_:didSelectRowAt:)
方法(方法签名的Swift 3版本),那么它不会尝试向您的单元格添加点击手势识别器,而是更简单,更清晰。 。 (可能是表视图控制器?)
如果做不到这一点,您需要创建一个名为TableViewCellDelegate的协议,其中包含didSelect(cell:UITableViewCell)
方法(或类似的方法)。然后,您将委托属性添加到自定义表格视图单元格,并在cellForRow(at:)
方法中将该属性设置为视图控制器。
然后在单元格中,您将在单元格的代理上调用didSelect(cell:UITableViewCell)
。
在您的视图控制器中,您可以使用indexPath(for cell: UITableViewCell)
找出被点击的单元格并使用它来决定对点击单元格采取的操作(在您的情况下调用segue。)