【问题标题】:How to correctly push to another Navigation Controller如何正确推送到另一个导航控制器
【发布时间】:2014-09-09 07:51:06
【问题描述】:

我有一些 VC 应该推送到 ANOTHER 导航控制器。 如果我这样做了

self.navigationController?.pushViewController(self.storyboard!.instantiateViewControllerWithIdentifier("someID") as someVC, animated: true)

这不起作用。我可以添加

    dispatch_async(dispatch_get_main_queue()) { 
         self.navigationController?.pushViewController(self.storyboard!.instantiateViewControllerWithIdentifier("someID") as someVC, animated: true)
    }

所以它可以工作,但据我所知,这不是正确的使用方式。我应该使用什么? presentViewController?

【问题讨论】:

  • 您在哪里调用该代码?在视图中会出现吗?
  • 尝试把你的代码放在一个方法中,并在0.01f延迟后调用它
  • 为什么如果延迟我仍然应该使用 dispatch_async?
  • 如果你把它放在 viewDidAppear 中会发生什么?
  • 还是不行。

标签: ios swift


【解决方案1】:

您应该只在导航控制器中推送 UIViewController 子类。 This question 可能会有所帮助!

【讨论】:

  • 如我所见,推荐使用 presenetViewController
  • 是的,你可以使用“presentViewController”来呈现另一个视图控制器,以前它被称为“presentModalViewController”,它允许你“模态”地呈现一个视图控制器。
  • 如果我使用“presentViewController”下一个 VC 工作很奇怪:没有导航栏等。
  • 很抱歉,您提出的问题没有提供足够的信息来理解您的问题。
  • 我已将 presentViewControl 添加到我需要的 NavigationController 中,并且无需 dispatch_async 即可使用!但还有一个问题:即使我设置了动画,它也可以在没有动画的情况下工作:true
猜你喜欢
  • 1970-01-01
  • 2015-06-13
  • 1970-01-01
  • 1970-01-01
  • 2020-09-25
  • 1970-01-01
  • 2020-10-02
  • 1970-01-01
  • 2013-03-12
相关资源
最近更新 更多