Swift 如何在导航视图控制器中引用当前视图

Swift 如何在导航视图控制器中引用当前视图,swift,Swift,我有一个创建子视图的构造函数 class HudView: UIView { var text = "" class func hud(inView view: UIView, animated: Bool) -> HudView { let hudView = HudView(frame: view.bounds) view.addSubview(hudView) return hu

我有一个创建子视图的构造函数

class HudView: UIView {
  var text = ""

  class func hud(inView view: UIView, 
                    animated: Bool) -> HudView {
    let hudView = HudView(frame: view.bounds)
    view.addSubview(hudView)
    
    return hudView
  }
}
要使用上述内容并创建视图,我将执行以下操作:

let hudView = HudView.hud(inView: navigationController!.view, 
                          animated: true)
我的问题是关于引用当前的观点并将其作为论点传递。这是引用当前视图的唯一方法吗?我的视图确实嵌入到导航控制器中,但我必须以这种方式获取当前视图吗?我正在学习教程。

谢谢

从当前视图中,我假定您指的是
ViewController
当前在
navigationController
中可见的
视图

您可以像这样获得当前可见的
视图

if let view = navigationController?.viewControllers.first?.view {
    let hudView = HudView.hud(inView: view, animated: true)
}
而且,如果您正在当前可见的
ViewController
中编写此代码,只需使用
self.view

let hudView = HudView.hud(inView: self.view, animated: true)

你问的问题太多了。你能在每篇文章中问一个问题吗?如果我在导航控制器中嵌入了一个视图,该视图是导航控制器的子视图吗?你在导航控制器中嵌入了视图控制器,而不仅仅是视图。最后一个问题是?我想创建一个子视图,覆盖视图控制器视图及其上方的导航栏。这就是让我困惑的地方。导航栏在哪个视图中(后退按钮、标题、完成按钮)。谢谢导航控制器是否有视图?导航控制器嵌入了视图控制器,其中包含一个视图。导航控制器只是一个容器。因此,在视图控制器中添加视图。我终于得到了它。谢谢