【问题标题】:Presenting view controllers on detached view controllers is discouraged while navigating to other screen in ios swift在 ios swift 中导航到其他屏幕时,不鼓励在分离的视图控制器上显示视图控制器
【发布时间】:2015-11-03 11:38:46
【问题描述】:

您好,我需要从 swift 类导航到目标 c 类,然后出现错误

“不鼓励在分离的视图控制器上显示视图控制器”并显示空白屏幕。

我添加了如下导航代码:

var captureViewCon = CaptureViewController(nibName: "CaptureViewController", bundle: nil)
self.presentViewController(captureViewCon, animated: true, completion: nil)

请帮助我。我做错了什么?

【问题讨论】:

  • 你把这段代码放在哪里了?您的视图控制器的层次结构是什么?
  • 您没有提供足够的信息。显示包含此代码的方法。解释什么视图控制器试图呈现另一个,呈现的视图控制器是如何显示在屏幕上的?在我看来,您是在根本不在屏幕上的视图控制器实例上调用此方法。
  • 我在 viewDidAppear 中添加了 uibutton,在按钮目标中添加了导航到屏幕的代码

标签: ios objective-c swift presentviewcontroller


【解决方案1】:

尝试将动画更改为 false,或将代码移至视图控制器生命周期的后期。或者从应用的 rootViewController 显式调用 presentViewController。

【讨论】:

    【解决方案2】:

    如果您尝试使用 xib 文件并且您的 uiviewcontroller 在objective-c 中,那么您的代码是正确的,但是如果您尝试显示在您的stroyboard 中的uiviewcontroller 并且类在objective-c 中,那么此代码会有轻微的变化喜欢:-

     let captureViewCon:UIViewController = (self.storyboard?.instantiateViewControllerWithIdentifier("FirstViewController"))!
        self.presentViewController(captureViewCon, animated: true, completion: nil)
    

    注意:- 确保在桥头文件中导入目标 c 类。

    【讨论】:

    【解决方案3】:

    请尝试使用:

    let captureViewCon:UIViewController = (self.storyboard?.instantiateViewControllerWithIdentifier("FirstViewController"))! self.view.window?.rootViewController?.presentViewController(captureViewCon, animated: true, completion: nil)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-22
      • 2018-02-21
      • 1970-01-01
      • 2015-01-25
      • 1970-01-01
      • 2017-02-16
      相关资源
      最近更新 更多