博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ios显示或隐藏导航栏的底线
阅读量:7185 次
发布时间:2019-06-29

本文共 1406 字,大约阅读时间需要 4 分钟。

 

 

根据产品需求要求把这个界面导航栏的底线去掉,下个控制器还需要有底线.

 

使用下面的代码实现

 

 

//在页面出现的时候就将黑线隐藏起来

-(void)viewWillAppear:(BOOL)animated

{

    [self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];

    [self.navigationController.navigationBar setShadowImage:[UIImage new]];

    _navBarHairlineImageView.hidden = YES;

}

//在页面消失的时候就让navigationbar还原样式

-(void)viewWillDisappear:(BOOL)animated{

    

    [self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];

    [self.navigationController.navigationBar setShadowImage:nil];

    //再定义一个imageview来等同于这个黑线

    //UIImageView *navBarHairlineImageView;

    _navBarHairlineImageView = [self findHairlineImageViewUnder:self.navigationController.navigationBar];

 

}

//这个方法唯一的不好就是会影响导航栏的translucent(透明)属性

 

//方法2:找出黑线,再做处理:

//通过一个方法来找到这个黑线(findHairlineImageViewUnder):

- (UIImageView *)findHairlineImageViewUnder:(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 findHairlineImageViewUnder:subview];

        if (imageView) {

            return imageView;

        }

    }

    return nil;

}

 

同样的在界面出现时候开启隐藏

//-(void)viewWillAppear:(BOOL)animated

//{

//    _navBarHairlineImageView.hidden = YES;

//}

在页面消失的时候就让出现

-(void)viewDidAppear:(BOOL)animated

{

    _navBarHairlineImageView.hidden = NO;

}

转载于:https://www.cnblogs.com/supersr/p/5737772.html

你可能感兴趣的文章
js进阶 9-14 js如何实现下拉列表多选移除
查看>>
css3-5 css3鼠标、列表和尺寸样式怎么用(文字有关的样式会被继承)
查看>>
html5--5-14 阶段小练习:绘制太极图案
查看>>
7-74 JavaScript 事件
查看>>
day1 作业编写登录窗口
查看>>
Linux下Vim的使用
查看>>
Swing-JFileChooser的使用
查看>>
Ajax Step By Step4
查看>>
NodeJs之文件合并(某一文件的内容发生变化与之相关的内容重新合并)
查看>>
jquery的验证框架内容(转载)
查看>>
weblogic安装配置问题
查看>>
HDU 4283 You Are the One [区间DP]
查看>>
在Java中如何实现“Pless presss any key to continue.”
查看>>
系统时间的友好显示
查看>>
全面介绍Windows内存管理机制及C++内存分配实例
查看>>
Train Problem I (HDU 100题纪念)
查看>>
[转]GLTF-3D图形界的JPEG
查看>>
java中枚举类到高级使用
查看>>
mybatis的注解功能
查看>>
Ajax 数据库操作
查看>>