【问题标题】:How do I get Navigation Bar in UIView/Utility class in Swift如何在 Swift 的 UIView/Utility 类中获取导航栏
【发布时间】:2019-11-27 07:48:40
【问题描述】:

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

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

【问题讨论】:

  • 你的意思是你在 UIView 中添加了一个 UINavigationBar?
  • 不,它在我的视图控制器中。我想从其他视图访问导航栏高度。

标签: ios swift uinavigationcontroller uinavigationbar


【解决方案1】:

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

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

let navigationBarHeight = rootVC.navigationBar.frame.height

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-31
    • 1970-01-01
    • 2018-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多