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
    

      

            

  • 相关阅读:
    【FastJSON】使用JSON.toJSONString()-解决FastJson中“$ref 循环引用”的问题
    格林威治时间(GTM)转北京时间
    @RenderBody、@RenderSection、@RenderPage、Html.RenderPartial、Html.RenderAction的作用和区别
    Net操作Excel(终极方法NPOI)
    10款.net 图形插件
    23种设计模式
    asp.net页面关闭的时候如何触发事件?
    IIS HTTP 错误 404.17
    Win10 Sql2008R2 在关闭【0x80041033】
    国内外前端(js)开发框架对比
  • 原文地址:https://www.cnblogs.com/eileenleung/p/3634648.html
Copyright © 2011-2022 走看看