我有一个很棒的 segue 但想改变它的触发器

Posted

技术标签:

【中文标题】我有一个很棒的 segue 但想改变它的触发器【英文标题】:I have a great segue but want to change it's trigger 【发布时间】:2012-07-29 20:26:14 【问题描述】:

在这篇文章中,我首先陈述了我的问题,然后陈述了我是如何解决它的。我想知道这是否是解决它的最佳或“正确”方法,或者是否有更多我忽略的方法。谢谢!

1.) 我有一个 segue 构造,它采用 UIButton touchUpInside 并创建带有自定义单元格等的 UITableViewController 的子类......我也喜欢它在 iPad 版本上使用“表单”演示文稿的方式。看起来很棒。我也编写了所有代码来关闭表格视图。

事实证明,通过双击我的一个 UIView 来启动这个 tableview 并摆脱当前触发 segue 的 UIButton 会好得多。

但问题是,我看不出有任何方法可以使用情节提要 IDE 做到这一点。我喜欢 segues,不想将 nib 加载到这个应用程序中。

2.) 我的解决方案是删除 UIButton(不幸的是,它也删除了 segue)。没问题,只需重新创建它,但使用 UIButton 的父视图控制器作为源。突出显示 segue 并给它一个标识符。这就是我们以编程方式触发 segue 的方式。

现在在我调用的双击检测中:

[self performSegueWithIdentifier:@"segue_MyTableViewController" sender:self];

【问题讨论】:

您的解决方案是正确的。您还有问题吗? 不,没有问题。我只是想知道我的代码是否正确。 【参考方案1】:

你所做的是正确的。故事板编辑器中只有某些“自动”转场点可用(按钮、表格单元格是立即浮现在脑海中的两个)。除此之外,您直接从视图控制器定义 segue 并以编程方式调用它,就像您所做的那样。

【讨论】:

以上是关于我有一个很棒的 segue 但想改变它的触发器的主要内容,如果未能解决你的问题,请参考以下文章

从 UITableViewCell 中的 UIButton 触发 Segue

展开 segue 不触发

Segue 未从自定义 tableView 单元格触发

segue 不去目的地控制器

识别哪个 segue 触发了 UIViewController

在 watchOS 上以编程方式触发 segue