运用递归算法隐藏导航栏黑线,并替换

下面两段代码都放在UINavigationController 或者自定义的UINavigationController

- (void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    // 运用递归影藏自带的黑线
    [self hideBorderInView:self.navigationBar];
    // 需要设置成的样子
    if (!_navLineV) {
        _navLineV = [[UIView alloc]initWithFrame:CGRectMake(0, 44, kScreen_Width, 1.0/ [UIScreen mainScreen].scale)];
        _navLineV.backgroundColor = kColorCCC;
        _navLineV.backgroundColor = [UIColor redColor];
        [self.navigationBar addSubview:_navLineV];
    }
}
// 递归 遍历view的subViews 直至隐藏
- (void)hideBorderInView:(UIView *)view{

    if ([view isKindOfClass:[UIImageView class]]
        && view.frame.size.height <= 1) {
        view.hidden = YES;
    }
    for (UIView *subView in view.subviews) {
        [self hideBorderInView:subView];
    }
}
  • 设置后的效果
  • image
    image
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,776评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,244评论 4 61
  • 还未来得及回忆 岁月已侵蚀了你的模样 那张挂在屋角的照片 开始微微泛黄 我问你啊 门前那十株白杨 它们变得比从前粗...
    田ad雨阅读 1,469评论 0 3
  • 今天他和她在戈壁风中,嘘唏相对,泣泪如雨。他离开她三年了。他仍记得十年前初次见她的那个日子,微风拂煦,夕照飘荡。“...
    汉文楚楚阅读 2,144评论 1 2
  • 朋友小丽是人资部经理,前两天一脸愁苦样的和我抱怨“我们老板不知道怎么回事,年底奖金、总结、规划的事就够了,偏偏这个...
    小桃洗枣阅读 5,472评论 0 0