如何在Swift的UIView / Utility类中获得导航栏

问题描述 投票:0回答:1

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

    // works in view controller 
    var navigationBarHeight: CGFloat {
    return UIApplication.shared.statusBarFrame.size.height +
        (self.navigationController?.navigationBar.frame.height ?? 0.0)
}
ios swift uinavigationcontroller uinavigationbar
1个回答
0
投票

尝试在UINavigationBar()内添加UIView

        let v = UIView(frame: .zero)
        let navBar = UINavigationBar(frame: .zero)
        v.addSubview(navBar)
        navBar.translatesAutoresizingMaskIntoConstraints = false
        navBar.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
        navBar.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true
        navBar.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor).isActive = true
© www.soinside.com 2019 - 2024. All rights reserved.