通过点击单元格中的图像视图来制作segue

时间:2017-08-09 06:12:51

标签: ios swift xcode swift3

在我的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。有人可以帮忙吗?

1 个答案:

答案 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)
}