ios - 有没有办法在 UINavigationController Swift Xcode 中更改 UINavigationBar 的高度?

标签 ios swift uinavigationcontroller uinavigationbar

有没有办法改变(即降低)UINavigationController 中 UINavigationBar 的高度?我尝试了以下无济于事:

extension UINavigationBar {

override open func sizeThatFits(_ size: CGSize) -> CGSize {
    return CGSize(width: UIScreen.main.bounds.size.width, height: 10)
    }

}

class CustomNavigationController : UINavigationController {

    override func viewWillLayoutSubviews() {
        super.viewWillLayoutSubviews()
        navigationBar.frame.size.height = 10
    }

}

提前致谢!

最佳答案

试试下面的代码,

override func viewDidLayoutSubviews()
{
   super.viewDidLayoutSubviews()
   let height = CGFloat(72)
   navigationBar.frame = CGRect(x: 0, y: 0, width: view.frame.width, height: height)
}

关于ios - 有没有办法在 UINavigationController Swift Xcode 中更改 UINavigationBar 的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57735019/

相关文章:

ios - Passbook pkpass 文件无法在模拟器上运行

ios - UICollectionView 垂直全屏和水平 2 个屏幕

ios - 如何在 Swift3 中使用 Enum 在 UITableView 中分配自定义单元格?

ios - 在 Swift 中转换从 UINavigationController 中提取的 viewController

ios - UIBarButton 不执行操作

ios - 如何在ios 7.0模拟器上安装IPA

iphone - 如何检查是否设置了自定义委托(delegate)?

ios - 在 Swift 中将 CoreData 保存/同步到 iCloud

swift - 使用 UILexicon 在 iOS 8 键盘扩展中实现自动更正

ios - 在状态栏下显示tableView