如何摆脱或更改情节提要以编程方式创建 segue
Posted
技术标签:
【中文标题】如何摆脱或更改情节提要以编程方式创建 segue【英文标题】:How to get rid of or change a storyboard created segue programatically 【发布时间】: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
【参考方案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 之前评论过它,所以我使用了他的代码。以上是关于如何摆脱或更改情节提要以编程方式创建 segue的主要内容,如果未能解决你的问题,请参考以下文章
如何以编程方式更改使用自动布局在情节提要上创建的 UIImageView 的大小?
UIButton 标题标签文本未使用情节提要或以编程方式更改