Xcode segue 有时会导致后屏

Posted

技术标签:

【中文标题】Xcode segue 有时会导致后屏【英文标题】:Xcode segue leads to back screen sometimes 【发布时间】:2014-07-18 22:59:18 【问题描述】:

我有两个通过 segue 相互链接的视图控制器。两个 segue 都是模态的,并且有标识符。两个视图控制器都有故事板 ID 和标题。当我转到我的第二个视图控制器 (VC2) 时,有时会出现完全黑屏(奇怪的是,UILabel 的文本每秒由 NSTimer 更新)。我必须多次选中/取消选中 segue 上的动画才能让它再次工作。我不知道为什么会这样。我尝试以编程方式切换视图,问题就消失了,但我宁愿使用更少的代码,而且我必须在 segues 之间共享数据。有人有想法吗?

【问题讨论】:

听起来你的设置有点不寻常,两个视图控制器通过单独的模态序列相互链接。通常,一个 VC 将充当父级,并通过模态 segue 启动另一个。模态 VC 将使用展开转场返回父级。 哇,甚至都不知道。试过了,还是不行。 【参考方案1】:

    要么试试 Calvdeos 的说法

    或使用导航控制器。在导航控制器中推送第一个 VC。然后根据用户操作,将第二个 VC 推到它上面。然后当 VC2 完成后,将其从 VC 堆栈中弹出。

这真的取决于流程是什么。如果您扩展逻辑流程,我可以提出更好的建议。

【讨论】:

抱歉回复晚了。我尝试了上述两种方法,但仍然遇到问题。任何线索可能是什么根本原因?在我的 secondviewcontroller 的 viewDidLoad 上,我初始化了几个 int 和 bool,并启动了一个计时器并开始播放音乐。【参考方案2】:

谢谢大家。设法修复它。将出现在黑屏下的 UILabel 的 IBOutlet 错误。我删除了那个插座并修复了它,一切正常。

【讨论】:

以上是关于Xcode segue 有时会导致后屏的主要内容,如果未能解决你的问题,请参考以下文章

如何使 Xcode segues 不可逆?

自定义幻灯片 Segue - Xcode 8.0 Swift 3.0

关于自定义 Segue XCODE 的建议

Xcode 6 Segue 与 UINavigationItem

Xcode中多个Segues中通过UITableViews传递数据(三个Segues)

带有 segue 的 Xcode 6.1 按钮