美文网首页
去掉NavBar下面的黑线

去掉NavBar下面的黑线

作者: TsingQue | 来源:发表于2017-05-10 16:49 被阅读31次

    所有的事儿都与起因,追其原因,然后找到答案,从而使得进步

    著名程序员【祈·乌牧鲅格】曾经说过,每个程序员的成长都是一个踩坑的过程,坑踩过了才能尽可能少的产生问题。

    nav下面的黑线.png

    我就想问问这是什么鬼,为什么有个黑线??
    尝试了修改navbar的背景颜色,也尝试修改了我的searchbar的颜色。。可是还是找不到原因。

    那么怎么办呢?那么做个游戏吧-----找到黑线

    找到黑线.png

    我也是满脸黑线啊.....

    原来黑线是这个东西

    原来黑线是这个o(╯□╰)o.png

    既然问题找到了那么就开始寻求解决方法吧

    1-我需要找到这根黑线

    - (UIImageView *)getLineViewInNavigationBar:(UIView *)view
    {
        if ([view isKindOfClass:UIImageView.class] && view.bounds.size.height <= 1.0) {
            return (UIImageView *)view;
        }
        for (UIView *subview in view.subviews) {
            UIImageView *imageView = [self getLineViewInNavigationBar:subview];
            if (imageView) {
                return imageView;
            }
        }
        return nil;
    }
    

    通过遍历NavBar,找到我需要的这根黑线

    然后将其在ViewController里面赋值给本页面的lineView
    @property (nonatomic, weak) UIImageView *lineView;
    然后再viewDidLoad方法里面调用

    //视图加载完成获取到导航栏最下面的黑线

    - (void)viewDidLoad {  
        [super viewDidLoad];  
        //获取导航栏下面黑线  
        _lineView = [self getLineViewInNavigationBar:self.navigationController.navigationBar];  
    }
    

    并且在- (void)viewWillAppear:(BOOL)animated- (void)viewWillDisappear:(BOOL)animated

    //视图将要显示时隐藏

    - (void)viewWillAppear:(BOOL)animated  {  
        [super viewWillAppear:animated];  
        _lineView.hidden = YES;  
        self.navigationController.navigationBar.translucent = YES;  
        self.navigationController.navigationBar.barTintColor = [UIColor whiteColor];  
    }  
    

    视图将要消失时取消隐藏

    - (void)viewWillDisappear:(BOOL)animated  {  
        [super viewWillDisappear:animated];  
        _lineView.hidden = NO;  
        self.navigationController.navigationBar.translucent = NO;  
        self.navigationController.navigationBar.barTintColor = [UIColor blackColor];  
    }  

    相关文章

      网友评论

          本文标题:去掉NavBar下面的黑线

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