如何在自定义 UITableViewCell 按钮和第二个视图之间创建一个 segue

Posted

技术标签:

【中文标题】如何在自定义 UITableViewCell 按钮和第二个视图之间创建一个 segue【英文标题】:How can I create a segue between a custom UITableViewCell button and a second view 【发布时间】:2016-02-13 15:31:01 【问题描述】:

我在一个单独的 nib 中创建了一个自定义 UITableViewCell,在其中我有一个按钮。我希望 tableViewCell 在点击单元格时转到一个视图控制器,但在点击按钮时转到另一个视图控制器。单元格点击转场工作正常,但我不知道如何在单元格中的按钮和下一个视图之间设置转场。我使用

向按钮添加了目标
cell.imagePreview.addTarget(self, action: "segueToImageView:", forControlEvents: .TouchUpInside)

然后在那个方法中

@IBAction func segueToImageView(sender: UIButton) 
    performSegueWithIdentifier("ImageViewSegue", sender: self)

但显然我最终会遇到“没有标识符为'ImageViewSegue'的segue”错误。我尝试将按钮连接到 main.storyboard 中的新视图,但它不会让我在笔尖和故事板之间拖动。我还尝试在两个视图之间的 main.storyboard 中创建一个 segue 并将其称为“ImageViewSegue”,但我得到了同样的错误。

有没有办法通过代码创建带有标识符的segue?如果没有,我应该如何通过按钮转到新视图?

【问题讨论】:

【参考方案1】:

不要使用segue,而是用老式的方法(从之前有故事板和segues):设置按钮的动作-目标对(在代码中,当你加载时),这样当点击按钮时,你的调用动作处理程序。在动作处理程序中,执行 segue 将执行的任何操作,即从情节提要中实例化视图控制器并推送或呈现它。

【讨论】:

我是 ios 开发的新手,是在故事板成为一件事之后开始的,所以我什至不知道这是可能的。我认为 segue 是从一种视图过渡到另一种视图的常用方法。你完全解决了我的问题。非常感谢!

以上是关于如何在自定义 UITableViewCell 按钮和第二个视图之间创建一个 segue的主要内容,如果未能解决你的问题,请参考以下文章

在自定义 UITableViewCell 中按下 UIButton 时如何获取 indexPathForSelectedRow

在自定义 UITableViewCell 中动态显示按钮

是否可以在自定义 UITableViewCell 中有一个按钮,该按钮引用其中的选择器

自定义 UITableViewCell 按钮单击

UIbutton 在自定义 UITableViewCell 中释放

如何得到自定义UITableViewCell中的按钮所在的cell的indexPath.row