美文网首页
对导航条的统一设置

对导航条的统一设置

作者: JoshuaC | 来源:发表于2015-10-20 21:36 被阅读65次

    比如说我们要设置导航条的背景或者颜色,我们可以在导航控制器的+initialize方法里面做一次性设置

    // 第一次加载这个类的时候调用,当程序一启动的时候就会把这个类加载进内存
    
    // 作用:为类分配一个内存
    
    //+ (void)load
    
    //{
    
    //    NSLog(@"%s",__func__);
    
    //}
    
    // 当前类或者它的子类第一次使用的时候调用
    
    // 初始化一个类
    
    // 不一定只会调用一次,比如说如果有很多子类,第一次使用子类的时候,这个方法会调用多次
    
    + (void)initialize
    
    {
    
    if (self == [XMGNavigationController class]) { // 判断下是否是当前类对象在调用
    
    // 设置导航条的背景,文字颜色
    
    // 谁用我的导航控制器,只设置使用自己导航控制器下的导航条
    
    // 获取整个app里所有导航条外观的标志
    
    //    UINavigationBar *bar = [UINavigationBar appearance];
    
    // 获取当前类下的导航条
    
    // self->XMGNavigationController
    
    UINavigationBar *bar = [UINavigationBar appearanceWhenContainedIn:self, nil];
    
    // Do any additional setup after loading the view.
    
    // 设置导航条背景图片,必须填UIBarMetricsDefault
    
    // 使用UIBarMetricsDefault,导航控制器的子控制器view的尺寸不包括导航条部分
    
    [bar setBackgroundImage:[UIImage imageNamed:@"NavBar64"] forBarMetrics:UIBarMetricsDefault];
    
    // 设置导航条文字颜色
    
    NSMutableDictionary *dict = [NSMutableDictionary dictionary];
    
    // 设置颜色
    
    dict[NSForegroundColorAttributeName] = [UIColor whiteColor];
    
    dict[NSFontAttributeName] = [UIFont boldSystemFontOfSize:22];
    
    [bar setTitleTextAttributes:dict];
    
    // 统一设置导航条按钮的颜色
    
    [bar setTintColor:[UIColor whiteColor]];
    
    // 获取UIBarButtonItem
    
    UIBarButtonItem *item = [UIBarButtonItem appearanceWhenContainedIn:self, nil];
    
    // 设置导航条返回按钮的文字的位置
    
    [item setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -64) forBarMetrics:UIBarMetricsDefault];
    
    }
    
    }
    
    

    相关文章

      网友评论

          本文标题:对导航条的统一设置

          本文链接:https://www.haomeiwen.com/subject/ugzzcttx.html