如何在 UIView/Utility class 中获取 Swift 中的导航栏

How do I get Navigation Bar in UIView/Utility class in Swift

实际上我需要在自定义视图中获取导航栏 class。我可以在我的视图控制器中获取导航栏高度 class。如何在 UIView/Utiity common class 中获取导航栏高度? .我只有一个视图控制器并在其中添加了导航控制器 class。我想在任何自定义视图中访问该导航栏高度。

    // works in view controller 
    var navigationBarHeight: CGFloat {
    return UIApplication.shared.statusBarFrame.size.height +
        (self.navigationController?.navigationBar.frame.height ?? 0.0)
}

您可以通过以下方式获取导航栏的高度:

guard let rootVC = UIApplication.shared.keyWindow?.rootViewController as? UINavigationController else { return }

let navigationBarHeight = rootVC.navigationBar.frame.height