2015-11-19 82 views
0

我正在开发Swift 2中的iOS应用程序,并且我遇到了一个我无法弄清的问题,我认为它可能是一个错误。UIViewController不显示在iOS 8中(但在iOS 9中可用)

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

下面是代码:
在RegisterData.swift:

func normalRegisterOk(){ 
     performSegueWithIdentifier("userRegisteredSegue", sender: self) 
} 

要说明的是SEGUE标识符存在,这里有2个截图故事板: screenshot1 screenshot2

贯通进入后normalRegisterOk并调用performSegueWithIdentifier,它确实进入相应场景的视图控制器,我在viewDidLoad中放置了一个断点和viewWillAppear并进入他们两个。

我不明白的是为什么这个场景不显示在iOS 8中,并且显示在iOS 9中。这个场景只有一个标签和一个ScrollView。有没有人知道这个问题会是什么?为iOS 9引入了不支持iOS 8的新功能吗?

感谢

回答

0

这是因为认为还没有准备好,把它在viewDidAppearviewDidLayoutSubviews

0

由于Mitley的答案,我意识到,它从未进入viewDidAppear因此我开始调试,我意识到,我在viewDidLayoutSubviews中调用一个函数,我不知道为什么它被称为无限次创建一个无法循环,这是没有让屏幕显示。我仍然不知道为什么会发生这种情况在iOS8但不是iOS9,但问题解决了我将此调用移动到viewDidLoad

相关问题