IOS修改navigationBar高度

最近接了个大活,开发ios,可以说是从零开始,不过因为工期比较紧,我也是自学了半个月就开始上手了(双手颤颤巍巍),今天就遇到了个问题,ios系统自带的导航栏的高度是固定的,但是客户的需求中导航栏比较高(我请教了一些ios开发的大佬,都说ios的导航栏无法修改,需要把系统导航栏隐藏掉,自己画一个贴上去)所以需要自定义一下,搞起来~

因为时间比较紧,我看swift语言开发ios比OC开发要简单一些,所以我学的swift,后续的学习心得和开发踩坑相关的博客都会以swift语言呈现!

在需要自定义导航栏的页面定义方法

var navBar: UINavigationBar = UINavigationBar()
func setNavBarToTheView () {
    //隐藏系统导航栏
    self.navigationController?.isNavigationBarHidden = true
    //自定义导航栏大小
    //UIScreen.main.bounds.width:代表设备的屏幕宽度
    self.navBar.frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: 100)
    //设置导航栏颜色
    self.navBar.barTintColor = UIColor(r: 31, g: 45, b: 76)
    self.view.addSubview(navBar)
}

然后需要在viewDidAppear方法里调用这个方法才会生效,不要在viewDidLoad方法里调用,否则页面无变化

override func viewDidAppear(_ animated: Bool) {
    //设置navigationbar高度
    self.setNavBarToTheView()
}

修改前:

IOS修改navigationBar高度_第1张图片

修改后:

IOS修改navigationBar高度_第2张图片

效果出来了,我也是现学现卖,有不对的地方请相关大佬轻喷~

你可能感兴趣的:(ios,swift)