【问题标题】:How to present view controller with one view controller alreadly be presented?如何用一个视图控制器呈现视图控制器?
【发布时间】:2017-09-15 03:18:43
【问题描述】:

就像您使用 iOS 原生邮件应用程序编写新邮件一样。 或者您使用 stackoverflow iOS 应用程序提出新问题。

你有什么想法吗?

【问题讨论】:

  • 从最顶端的视图控制器中显示新的视图控制器。
  • 你有没有尝试过任何代码?

标签: ios presentviewcontroller


【解决方案1】:

尝试使用辅助方法展示您的新 ViewController

extension UIApplication {
  class func topViewController(base: UIViewController? = (UIApplication.sharedApplication().delegate as! AppDelegate).window?.rootViewController) -> UIViewController? {
    if let nav = base as? UINavigationController {
      return topViewController(base: nav.visibleViewController)
    }
    if let tab = base as? UITabBarController {
      if let selected = tab.selectedViewController {
        return topViewController(base: selected)
      }
    }
    if let presented = base?.presentedViewController {
      return topViewController(base: presented)
    }
    return base
  }
}

从你的 ViewController 中调用上面的辅助方法

UIApplication.topViewController().present(vc2, animated: true, completion: nil)

【讨论】:

  • 谢谢!找到顶视图控制器并用它来呈现另一个。我知道这种方式,但这不是我想要的。
猜你喜欢
  • 1970-01-01
  • 2015-07-16
  • 2017-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多