美文网首页
隐藏_UIBarBackground以及子控件

隐藏_UIBarBackground以及子控件

作者: 有理想有暴富的小青年 | 来源:发表于2017-05-11 17:00 被阅读567次

    推荐两篇文章 https://my.oschina.net/sayonala/blog/511490

    http://www.jianshu.com/p/c26f1e36263f

    第一篇使用runtime解决 看不懂 看了第二篇结合自己经验解决了

    需要将上图中的那条线隐藏掉  遍历self.navigationController.navigationBar.subviews
    并不能隐藏掉它  然后看层 百科  它是属于上层的 _UIBarBackground 的(注意前面的下划线不要丢) 所以就变成隐藏_UIBarBackground
    这个东西了 上代码:

    for (UIView  * v in self.navigationController.navigationBar.subviews){

    UIView  * bgview=nil;

    NSString * classname = NSStringFromClass([v class]);

    if ([classname isEqualToString:@"_UINavigationBarBackground"] || [classname isEqualToString:@"UINavigationBarBackground"])

    {

    bgview=v;

    break;

    } else if ([classname isEqualToString:@"_UIBarBackground"]) {

    bgview = v;

    for (UIView *vi in v.subviews) {

    // 适配iOS10

    NSString *viName = NSStringFromClass([vi class]);

    if ([viName isEqualToString:@"UIImageView"]) {

    vi.hidden = YES;

    break;

    }

    }

    }

    }

    相关文章

      网友评论

          本文标题:隐藏_UIBarBackground以及子控件

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