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];
    }
  • 相关阅读:
    完美解决php无法上传大文件分享
    完美解决php无法上传大文件问题
    完美解决php无法上传大文件思路
    完美解决php无法上传大文件功能
    IfcRightCircularCylinder
    IfcRightCircularCone
    IfcRectangularPyramid
    IfcBlock
    IfcCsgPrimitive3D
    IfcReparametrisedCompositeCurveSegment
  • 原文地址:https://www.cnblogs.com/iOS363536404/p/5627228.html
Copyright © 2011-2022 走看看