首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >UIViewController不显示在iOS 8中(但在iOS 9中工作)

UIViewController不显示在iOS 8中(但在iOS 9中工作)
EN

Stack Overflow用户
提问于 2015-11-19 18:34:00
回答 2查看 33关注 0票数 0

我在Swift 2中开发了一个iOS应用程序,我有一个我无法解决的问题,我认为这可能是一个bug。

当我在iOS 9中运行该应用程序时,没有问题,但当我在iOS 8中调试它时,会发生以下情况:在通知回调之后,我调用prepareforsegue(标识符),标识符是OK的,它进入新屏幕的ViewDidLoad,但它从未显示。

以下是代码:

在RegisterData.swift中:

代码语言:javascript
运行
复制
func normalRegisterOk(){
        performSegueWithIdentifier("userRegisteredSegue", sender: self)
}

为了显示segue标识符的存在,下面是故事板的两个屏幕截图:screenshot1 screenshot2

在通过normalRegisterOk并调用performSegueWithIdentifier,之后,它确实进入了相应场景的ViewController,我在viewDidLoad和viewWillAppear中放置了一个断点,然后它们都进入。

我不明白为什么这个场景没有显示在iOS 8中,而是显示在iOS 9中。这个场景只有一个标签和一个ScrollView。有谁知道问题出在哪里吗?iOS 9引入的不支持iOS 8的新功能有哪些?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2015-11-19 18:44:10

因为视图还没有准备好,请在viewDidAppearviewDidLayoutSubviews中调用它

票数 0
EN

Stack Overflow用户

发布于 2015-11-19 18:57:26

感谢米特利的回答,我意识到它从来没有进入过viewDidAppear,所以我开始调试,我意识到我在viewDidLayoutSubviews中调用了一个函数,我不知道为什么它被称为无限次,创建一个无限循环,而这个循环没有让屏幕显示出来。我仍然不知道为什么在iOS8而不是iOS9中会发生这种情况,但是问题已经解决了,我把这个调用转移到viewDidLoad

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33811733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档