zoukankan      html  css  js  c++  java
  • 导航栏 “UI_APPEARANCE_SELECTOR”方法的使用

    导航栏有一个方法:

    - (void)setBackgroundImage:(nullable UIImage *)backgroundImage forBarMetrics:(UIBarMetrics)barMetrics NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;

    这个方法有两种使用方式

    第一种:

    [self.navigationBar setBackgroundImage:[UIImage imageNamed:@"navigationbarBackgroundWhite"] forBarMetrics:UIBarMetricsDefault];

    第二种:

     UINavigationBar *bar = [UINavigationBar appearance];
        [bar setBackgroundImage:[UIImage imageNamed:@"navigationbarBackgroundWhite"] forBarMetrics:UIBarMetricsDefault];

    第二种使用方式不管你是使用的哪个 导航栏控制器创建的界面,都会显示 你设置的这一个图片背景。

    如果只是想要在“WYNavigationController.m”中实现这个背景图片,其他的导航栏控制器都不实现的话:

    添加一句:

     // 当导航栏用在XMGNavigationController中, appearance设置才会生效
        UINavigationBar *bar = [UINavigationBar appearanceWhenContainedIn:[self class], nil];
        [bar setBackgroundImage:[UIImage imageNamed:@"navigationbarBackgroundWhite"] forBarMetrics:UIBarMetricsDefault];

    这样就OK.

    这样运行后,会发现 四个一级控制器都会创建一遍,如果只想让控制器创建一遍,就使用

    /**
     * 当第一次使用这个类的时候会调用一次
     */
    + (void)initialize
    {
        // 当导航栏用在XMGNavigationController中, appearance设置才会生效
    //    UINavigationBar *bar = [UINavigationBar appearanceWhenContainedIn:[self class], nil];
        UINavigationBar *bar = [UINavigationBar appearance];
        [bar setBackgroundImage:[UIImage imageNamed:@"navigationbarBackgroundWhite"] forBarMetrics:UIBarMetricsDefault];
    }
  • 相关阅读:
    Vue+Koa2移动电商实战 (一)前端环境搭建
    Hibernate之二级缓存
    Hibernate之QBC检索和本地SQL检索
    Hibernate之HQL介绍
    Hibernate 检索策略
    Hibernate4.x之映射关系--继承映射
    Hibernate4.x之映射关系--多对多
    Hibernate4.x之映射关系--一对一映射
    Hibernate4.x之映射关系--双向1-n
    Hibernate4.x之映射关系--单向一对多
  • 原文地址:https://www.cnblogs.com/iOS363536404/p/5627228.html
Copyright © 2011-2022 走看看