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 有时会导致后屏的主要内容,如果未能解决你的问题,请参考以下文章
自定义幻灯片 Segue - Xcode 8.0 Swift 3.0
Xcode 6 Segue 与 UINavigationItem