如何在UITableViewCell中执行手动segue?

时间:2013-12-11 23:25:29

标签: ios iphone objective-c uitableview

在我的代码中,我必须执行手动分段,它一直很好用,我使用这段代码。

[self performSegueWithIdentifier:@"createToCaseSegue" sender:Nil];

问题是,想要在UITableViewCell中按下按钮Choose User,这会给我带来错误。

screenshot

错误。

error

我可以理解为什么它不起作用 - 我需要从UIViewController调用来使用performSegueWithIdentifier,但同样我不知道如何解决这个问题。

我以为我会尝试一些修复,所以我尝试将一个动作Ctrl-拖动到ViewController文件而不是TableCell文件,但它给了我Storyboard编译错误(我想这是有意义的 - 如果我有多个单元格,然后所有按钮实例都参考一个动作?)。我还想过以编程方式找到superview,但显然这种方法因iOS 7而异,所以听起来很难。

1 个答案:

答案 0 :(得分:0)

您应该在cellForRowAtIndexPath中添加“选择用户”按钮的操作方法(带addTarget:action:forControlEvents:),这样您就可以将self(控制器)设置为操作的目标。你仍然可以在IB中创建和定位按钮,只是不要在那里连接它的动作。