美文网首页iOS开发总结
iOS-烦人的修改navigationBar的背景色

iOS-烦人的修改navigationBar的背景色

作者: Auditore | 来源:发表于2020-07-09 14:46 被阅读0次

    iOS修改背景色,看似很简单,其实很蛋疼,你可能听说过各种各样的方式。
    1.修改barTintColor 同时translucent设为NO;
    2.修改navigationBar的backgroundColor self.navigationController.navigationBar.backgroundColor = [UIColor redColor];

    然而,我试过以后都没有用,但最后还是解决了。不废话,直接上代码
    [self.navigationController.navigationBar setBackgroundImage:[UIImage imageWithColor:[UIColor redColor]] forBarMetrics:UIBarMetricsDefault];

    千万别手贱,去改什么navigationbar.translucent = YES,到时候bug满天飞,能把你气死。

    但这还没完,statusbar颜色还没改,这简单,我们创建一个view插入到navigationBar中
    [self.navigationController.navigationBar addSubview:self.fakeStatusBar];

    等你退出页面就把这个fakeStatusBar隐藏,同时把navigationBar颜色复原。

    - (void)viewWillDisappear:(BOOL)animated {
        [super viewWillDisappear:animated];
        self.fakeStatusBar.hidden = YES;
        [self.navigationController.navigationBar setBackgroundImage:[UIImage imageWithColor:[UIColor whiteColor]] forBarMetrics:UIBarMetricsDefault]; 
    }
    

    相关文章

      网友评论

        本文标题:iOS-烦人的修改navigationBar的背景色

        本文链接:https://www.haomeiwen.com/subject/hatscktx.html