在我的Xcode项目中,我想通过点击tableview中单元格中的图像来创建一个segue。我一直在寻找答案,最相关的是将图像视图更改为按钮。遗憾的是,这个解决方案不能用于我的项目,因为我有一个图像视图,当图像在其中时,我想以某种方式自定义。
所以现在我迫切需要帮助。我在另一个单元格中有一个带有文本的按钮,它执行我想要的相同segue。它获取我放在该单元格中的objectID并将其附加到全局变量,因此当出现另一个视图时,它将采用该objectID并执行必要的功能。我已复制下面该按钮的代码:
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "PostCell") as! Cell1
cell.textButton.layer.setValue(indexPath, forKey: "index")
return cell
}
@IBAction func textPressed(_ sender: Any) {
let index = (sender as AnyObject).layer.value(forKey: "index") as! IndexPath
let cell = tableView.cellForRow(at: index) as! Cell1
globalText.append(cell.objectID)
let text = self.storyboard?.instantiateViewController(withIdentifier: "TextVC") as! TextVC
self.navigationController?.pushViewController(text, animated: true)
}
现在我只需要知道如何完成同样的事情,但对于单元格中的imageview。有人可以帮忙吗?
答案 0 :(得分:1)
从视图控制器到目的地创建一个segue,并为其指定一个“标识符”
在行的单元格中
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(viewImage(_:)))
imageView.isUserInteractionEnabled = true
imageView.tag = tag!
imageView.addGestureRecognizer(gesture)
创建执行segue的功能
func viewImage(_ sender: AnyObject) {
let tag = sender.view.tag
// do what ever with tag
performSegue(withIdentifier: "identifier", sender: self)
}