【发布时间】:2015-12-08 14:15:23
【问题描述】:
我有两种观点。单击按钮后,另一个视图应该通过显示(以前称为推送)segue 被segue 到屏幕上。然而,由于某种奇怪的原因,当转换前一个视图的一个简短印记时,这可以完美地工作。这似乎只发生在这两个视图中,我无法与其他人一起重现它,并且该错误发生在模拟器和实际设备上。这是正在发生的事情的 GIF:https://gyazo.com/662a813de15ba90d6581976f55866289
(据我所知,Stackoverflow 不支持直接在帖子中使用 Gif,因此对于外部链接感到抱歉)
很抱歉质量低下。
我只是简单地从“注册”按钮拖动到另一个屏幕来创建转场。这似乎是我整个应用程序中唯一这样做的过渡。这就是它在故事板中的样子。在 segue 发送之前/之后,我没有以编程方式执行任何操作。
我也尝试过以编程方式创建 segue,但同样的效果正在发生。我找不到任何类似的 stackoverflow 帖子。
任何关于为什么会发生这种情况的线索以及任何可能的修复都会很棒。如果您需要更多信息,请告诉我。
编辑: 我没有对视图初始化进行任何资源扩展(我只是使导航栏半透明并修改了一些出口)。我觉得重要的是要注意背景(蓝色)和sonus标志都是图像视图。我尝试以编程方式设置背景图像,但这对问题的结果没有影响。
【问题讨论】:
-
我怀疑你可能正在你的视图控制器中做一些正在加载的事情,那就是阻塞主线程?
-
我必须同意 Shripada 的观点。在您看来确实加载了您必须进行一些线程繁重的初始化。有没有你在做的事情太冗长了?
-
@pbush25 这也是我最初的想法。但是,我在初始化中唯一要做的就是使导航栏半透明并更改一些插座的一些次要属性。即使在评论了所有这些之后,我也得到了同样的效果。让我印象深刻的一件事是蓝色背景和“Sonus”标志都是图像视图。我可能在这里遗漏了什么吗?我已经尝试以编程方式设置背景,但同样的事情仍在发生。
-
您使用什么代码进行转换?
-
@pbush25 我目前通过情节提要设置了segue。当我尝试以编程方式进行 segueing 时,我正在使用以下代码(其中 vc 是我的 RegisterViewController): self.navigationController?.pushViewController(vc, animated: true)
标签: ios objective-c swift segue uistoryboardsegue