如何更改故事板流程
How to change storyboard flow
我必须根据遗留应用程序中的故事板修改 ViewController 的显示流程。
假设情节提要显示屏幕如下:
screen A -> screen B -> screen C -> screen D
现在的修改是根据特定条件不应显示屏幕 C。比方说,如果条件为真,则显示屏幕 C,否则不显示,直接显示屏幕 D。
流程应该是:
/-------false--\
/ \
/ true \
screen A -> screen B ---------> screen C ----> screen D
我在屏幕 B 和屏幕 D 之间创建一个 segue。如果条件为真,我什么都不做(显示屏幕 C,然后显示屏幕 D),如果条件为假,我在 ViewController 对于屏幕 B:
performSegue(withIdentifier: "DirectlyDisplayScreenD", sender: self)
几乎可以正常工作...屏幕 C 显示半秒,然后显示屏幕 D。
我是 iOS 的初学者,我所做的至少在原则上是正确的吗?
短暂显示屏幕 C 是否有明显的原因?是因为故事板吗?或者调用 segue 是不够的?或者这是否意味着屏幕 C 的 ViewController 在代码中的某处实例化了?
是否有删除故事板的 ViewController 的方法?我找到方法 instantiateViewController 但我没有找到方法 "removeViewController"
我自己解决了这个问题。我删除了遗留的 segue 并重新构建了它,并注意给他起了个名字。之后应用程序按照我希望的流程进行。
感谢大家的建议!!
我必须根据遗留应用程序中的故事板修改 ViewController 的显示流程。
假设情节提要显示屏幕如下:
screen A -> screen B -> screen C -> screen D
现在的修改是根据特定条件不应显示屏幕 C。比方说,如果条件为真,则显示屏幕 C,否则不显示,直接显示屏幕 D。
流程应该是:
/-------false--\
/ \
/ true \
screen A -> screen B ---------> screen C ----> screen D
我在屏幕 B 和屏幕 D 之间创建一个 segue。如果条件为真,我什么都不做(显示屏幕 C,然后显示屏幕 D),如果条件为假,我在 ViewController 对于屏幕 B:
performSegue(withIdentifier: "DirectlyDisplayScreenD", sender: self)
几乎可以正常工作...屏幕 C 显示半秒,然后显示屏幕 D。
我是 iOS 的初学者,我所做的至少在原则上是正确的吗?
短暂显示屏幕 C 是否有明显的原因?是因为故事板吗?或者调用 segue 是不够的?或者这是否意味着屏幕 C 的 ViewController 在代码中的某处实例化了?
是否有删除故事板的 ViewController 的方法?我找到方法 instantiateViewController 但我没有找到方法 "removeViewController"
我自己解决了这个问题。我删除了遗留的 segue 并重新构建了它,并注意给他起了个名字。之后应用程序按照我希望的流程进行。
感谢大家的建议!!