ios - 如何在 Swift 的 UIView/Utility 类中获取导航栏
问题描述
实际上我需要在自定义视图类中获取导航栏。我可以在我的视图控制器类中获得导航栏的高度。如何获取 UIView/Utiity 通用类中的导航栏高度?. 我只有一个视图控制器,并在该类中添加了导航控制器。我想在任何自定义视图中访问该导航栏高度。
// 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
推荐阅读
- database - 对重复多次的 1 对多关系建模
- php - Laravel 路由组可选前缀不起作用
- kotlin - 是否可以更改 Kotlin 的属性 getter 类型?
- java - 打破 Transformer 流程 Spring 集成
- ffmpeg - 如何与ffmpeg一起使用过滤和流复制?
- android - NestedScrollView 内的 RecyclerView 展开
- vue.js - 如何使用 vue-highcharts 全局设置 Highcharts 对象配置?
- dictionary - Flutter ExpansionTile 子项作为 Gridview?
- php - nginx反向代理设置头主机得到404错误
- python-3.x - 如何在列的最后 300 行之间进行迭代