zoukankan      html  css  js  c++  java
  • 去掉导航栏下 细线

     1     //去除bar下方 线
     2     if ([self.navigationController.navigationBar respondsToSelector:@selector( setBackgroundImage:forBarMetrics:)]){
     3         NSArray *list=self.navigationController.navigationBar.subviews;
     4         for (id obj in list) {
     5             if ([obj isKindOfClass:[UIImageView class]]) {
     6                 UIImageView *imageView=(UIImageView *)obj;
     7                 NSArray *list2=imageView.subviews;
     8                 for (id obj2 in list2) {
     9                     if ([obj2 isKindOfClass:[UIImageView class]]) {
    10                         UIImageView *imageView2=(UIImageView *)obj2;
    11                         imageView2.hidden=YES;
    12                     }
    13                 }
    14             }
    15         }
    16     }
    2、iOS10出来之后,@"_UINavigationBarBackground" 变成了@"_UIBarBackground",代码改成这样:
    
    #define iOS10 ([[UIDevice currentDevice].systemVersion intValue]>=10?YES:NO)
    - (void)viewWillAppear:(BOOL)animated{
        [super viewWillAppear:animated];
    
        [self.navigationController.navigationBar.subviews enumerateObjectsUsingBlock:^(UIView *view, NSUInteger idx, BOOL *stop) {
            if (iOS10) {
                //iOS10,改变了导航栏的私有接口为_UIBarBackground
                if ([view isKindOfClass:NSClassFromString(@"_UIBarBackground")]) {
    
                    [view.subviews firstObject].hidden = YES;
                }
            }else{
                //iOS10之前使用的是_UINavigationBarBackground
                if ([view isKindOfClass:NSClassFromString(@"_UINavigationBarBackground")]) {
    
                    [view.subviews firstObject].hidden = YES;
                }
            }
        }];
    }
    
    
    
    
    
    
    
    
    可不可以精简一下呢:
    
    如果设置了
    [UINavigationBar appearance].translucent = NO;
    
    - (void)viewWillAppear:(BOOL)animated{
        [super viewWillAppear:animated];
    
        self.navigationController.navigationBar.subviews[0].subviews[0].hidden = YES;
    }
    否则
    
    - (void)viewWillAppear:(BOOL)animated{
        [super viewWillAppear:animated];
    
        self.navigationController.navigationBar.subviews[0].subviews[1].hidden = YES;
    }
    让明天,不后悔今天的所作所为
  • 相关阅读:
    使用zipkin2在SpringCloud2.0环境下追踪服务调用情况
    Spring Cloud负载均衡:使用Feign作客户端负载均衡
    Spring Cloud负载均衡:使用zuul作服务器端负载均衡
    Word模板替换
    【转】Eureka集群
    巧用JavaScript语言特性解耦页面间调用(观察者模式)
    MySQL 视图触发器事务存储过程函数
    MySQL py模块的链接Navicat可视化工具
    MySQL 单表查询多表查询
    MySQL 表与表之间建立关系
  • 原文地址:https://www.cnblogs.com/-yun/p/5212302.html
Copyright © 2011-2022 走看看