【问题标题】:Swift - Elements missing when programmatically instantiating a view controllerSwift - 以编程方式实例化视图控制器时缺少元素
【发布时间】:2015-11-12 07:24:18
【问题描述】:

首先,我是 swift 和 iOS 开发的新手!我决定开始使用它,到目前为止一切都很好。除了今天。 所以我首先按照教程创建了一个单视图应用程序,然后我决定看看如果添加另一个视图会发生什么。使用 segue 在视图之间导航似乎工作正常,所以我想看看我如何以编程方式导航,记住“目标视图”可能不仅仅取决于用户按下按钮。所以我添加了第一个视图作为我的初始视图控制器,我在网上找到了以下代码来转换到我的另一个视图:

let storyBoard = UIStoryboard(name: "Main", bundle: nil)
let nextViewController = storyBoard.instantiateViewControllerWithIdentifier("home")
self.presentViewController(nextViewController, animated:false, completion:nil)

没有问题,没有错误或控制台消息,除了一个小问题:当视图加载时,“目标视图”(在我的例子中是 nextViewController)的一些 UI 元素丢失!在我单击视图的其他一些元素后,其中一些(但不是全部)会显示出来。请注意,如果我将 nextViewController 设置为初始元素,则没有问题。 我无法在互联网上找到有关该问题的任何线索,如果有人能指出我正确的方向,我将不胜感激..

【问题讨论】:

  • 请提供您的 nextViewController 类代码,没有它我们无法判断出了什么问题

标签: ios swift


【解决方案1】:

哦,好吧,再等 5 分钟,最后一条错误消息就足以解决该问题! 我在以下线程上找到了我的解决方案: whose view is not in the window hierarchy 如前所述,将我的代码从 viewDidLoad 方法移动到 viewDidAppear 方法解决了这个问题。而且我遇到了与OP提到的相同的错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-24
    • 2017-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多