zoukankan      html  css  js  c++  java
  • UINavigationBar 总结

    一、某个 ViewController 出现隐藏 NavigationBar

    - (void)viewWillAppear:(BOOL)animated {
        [super viewWillAppear:animated];
        [self.navigationController setNavigationBarHidden:YES animated:NO];
    }
    
    - (void)viewDidDisappear:(BOOL)animated {
        [super viewDidDisappear:animated];
        [self.navigationController setNavigationBarHidden:NO animated:NO];
    }

    二、调整 NavigationBar 高度

    原文

      1、介绍

        1) 默认是 44 个像素点。

      2、使用

    - (void)viewDidLoad
    {
        [super viewDidLoad];
        // Do any additional setup after loading the view.
        
        self.title = @"AAAAA";
        
        UIBarButtonItem* leftBarButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"Action_Moments.png"]
                                                                          style:UIBarButtonItemStyleBordered target:self
                                                                         action:@selector(onclickBackBarButton)];
        self.navigationItem.leftBarButtonItem = leftBarButton;
    }
    
    - (void)viewWillAppear:(BOOL)animated {
        [super viewWillAppear:animated];
        
        CGRect rect = self.navigationController.navigationBar.frame;
        rect.size.height = 100.0f;
        self.navigationController.navigationBar.frame = rect;
        
        [self.navigationController.navigationBar setTitleVerticalPositionAdjustment:-40.0f forBarMetrics:UIBarMetricsDefault];
        
    //    [self.navigationItem.backBarButtonItem setBackgroundVerticalPositionAdjustment:-40.0f forBarMetrics:UIBarMetricsDefault];  // 对系统自带的 backBarButton 不起作用
        
        [self.navigationItem.leftBarButtonItem setBackgroundVerticalPositionAdjustment:-40.0f forBarMetrics:UIBarMetricsDefault];
    }
    
    - (void)viewWillDisappear:(BOOL)animated {
        [super viewWillDisappear:animated];
        
        CGRect rect = self.navigationController.navigationBar.frame;
        rect.size.height = 44.0f;
        self.navigationController.navigationBar.frame = rect;
    }
    

      

        注意:

          1) 如果使用系统默认的 backBarButton 是不能调整高度的。

          2) 只有自定的 barButtonItem,而且使用以下初始化,才可以调整其高度。

            

    - (id)initWithImage:(UIImage *)image style:(UIBarButtonItemStyle)style target:(id)target action:(SEL)action
    

      

            

  • 相关阅读:
    Java & PHP RSA 互通密钥、签名、验签、加密、解密
    Spring Cloud:Security OAuth2 自定义异常响应
    Spring Cloud:统一异常处理
    Spring Cloud:多环境配置、eureka 安全认证、容器宿主机IP注册
    Hexo + GitEE 搭建、备份、恢复、多终端
    Spring:AOP面向切面编程
    如何找到适合自己的文档工具?
    比较好玩的工具类合集推荐!!!
    C++11 如何使代码仅执行一次?
    CMake 常用操作有哪些?
  • 原文地址:https://www.cnblogs.com/eileenleung/p/3634648.html
Copyright © 2011-2022 走看看