【问题标题】:How to get rid of or change a storyboard created segue programatically如何摆脱或更改情节提要以编程方式创建 segue
【发布时间】:2017-12-05 22:43:17
【问题描述】:

我有一个从一个视图控制器到另一个视图控制器的 segue,它是在我的项目的故事板中创建的。我想知道是否有办法通过代码来改变或摆脱这种segue。谢谢,使用 Xcode 9 Swift 4。

【问题讨论】:

  • 你可以通过实现override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool { if identifier == "aSegueIWantToDisable" { return false }; return true }来忽略segue

标签: swift storyboard uistoryboardsegue


【解决方案1】:

显然不可能...查看this post 上的答案。 documentation 说这是关于创建 segues 的:

“您不直接创建转场对象。相反,情节提要运行时在必须在两个视图控制器之间执行转场时创建它们。”

虽然不是改变或删除segue,但我认为是相同的逻辑。

如果你只是想避免转场发生,你可以在“shouldPerformSegue”中做到这一点(就像 vacawama 在 cmets 中所说的那样):

override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool { 
    if identifier == "aSegueIWantToDisable" { 
        return false 
    } 
    return true 
}

【讨论】:

  • 感谢您的回答。如果不可能,是否有解决方法?
  • 也许有!您能否再解释一下您想要实现的目标,以便我想出一个解决方案?
  • 如果您只是想避免发生转场,我添加了一个解决方法。我注意到 vacawama 之前评论过它,所以我使用了他的代码。
猜你喜欢
  • 2017-10-19
  • 2019-10-15
  • 2015-03-07
  • 1970-01-01
  • 1970-01-01
  • 2017-10-18
  • 2016-10-08
  • 1970-01-01
  • 2017-03-27
相关资源
最近更新 更多