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
    

      

            

  • 相关阅读:
    正则表达式
    npm 和package.json 文件
    React Element /组件/JSX
    Express 入门
    vue-router 基本使用
    content_form.class.php文件不完整 解决方案
    Yii查询count()
    android之在view中内嵌浏览器的方法
    YII中利用urlManager将URL改写成restful风格
    关于YII中layout中的布局和view中数据的关系
  • 原文地址:https://www.cnblogs.com/eileenleung/p/3634648.html
Copyright © 2011-2022 走看看