你的位置:首页 > 操作系统

[操作系统]IOS开发中设置导航栏主题


/** * 系统在第一次使用这个类的时候调用(1个类只会调用一次) */+ (void)initialize{  // 设置导航栏主题  UINavigationBar *navBar = [UINavigationBar appearance];  // 设置背景图片  NSString *bgName = nil;  if (iOS7) { // 至少是iOS 7.0    bgName = @"NavBar64";  } else { // 非iOS7    bgName = @"NavBar";  }  [navBar setBackgroundImage:[UIImage imageNamed:bgName] forBarMetrics:UIBarMetricsDefault];    // 设置标题文字颜色  NSMutableDictionary *attrs = [NSMutableDictionary dictionary];  attrs[NSForegroundColorAttributeName] = [UIColor whiteColor];  attrs[NSFontAttributeName] = [UIFont systemFontOfSize:16];  [navBar setTitleTextAttributes:attrs];    //设置BarButtonItem的主题  UIBarButtonItem *item=[UIBarButtonItem appearance];  //设置文字颜色  NSMutableDictionary *itemAttrs=[NSMutableDictionary dictionary];  itemAttrs[NSFontAttributeName]=[UIFont systemFontOfSize:14];  itemAttrs[NSForegroundColorAttributeName]=[UIColor whiteColor];  [item setTitleTextAttributes:itemAttrs forState:UIControlStateNormal];  if (!iOS7) {    //设置按钮背景        [item setBackgroundImage:[UIImage imageNamed:@"NavButton"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];    [item setBackgroundImage:[UIImage imageNamed:@"NavButtonPressed"] forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];        //设置返回按钮的背景    [item setBackButtonBackgroundImage:[UIImage imageNamed:@"NavButton"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];    [item setBackButtonBackgroundImage:[UIImage imageNamed:@"NavButtonPressed"] forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];  }  else{    navBar.tintColor=[UIColor whiteColor];  }  }