【问题标题】:Triggering an existing segue programmatically (Automatically)以编程方式触发现有的 segue(自动)
【发布时间】:2015-07-21 00:53:15
【问题描述】:

我有一个链接到按钮的现有转场。我希望按钮和 segue 保留,但需要一种方法来以编程方式触发 segue,在我看来,在成功的 IF 语句后确实加载了。转场是使用故事板创建的。

我尝试执行 performSegueWithIdentifier 但没有“自我发送者”,因为没有触发 UI。

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

有没有简单的方法来做到这一点?没有幻像按钮或强制执行现有按钮。

【问题讨论】:

  • 您显示的代码是正确的。您可能想在viewWillAppearviewDidAppear 中进行操作,而不是viewDidLoad
  • 太棒了!这就是问题所在。我把它放在 viewDidLoad 中。
  • 小问题,如果我想完全从代码而不是从情节提要执行 egue,我该怎么做?其次,如果我从 Storyboard 中删除 segue,当我执行 [self performSegueWithIdentifier:@"segue" sender:self];

标签: ios objective-c uistoryboardsegue


【解决方案1】:

segue 不需要触发用户交互。 senderprepareForSegue 方法将接收的对象。

使用self实际上是正确的方法,因为这意味着视图控制器触发了segue而不是视图对象。

如果您对prepareForSegue 中的sender 没有用处,则保持调用原样并在实现中忽略它。

此外,此调用在viewDidLoad 中不起作用,因为视图仍然不是 Windows 层次结构中的视图。您应该等到viewDidAppear 之后再执行任何转场。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多