您的位置:首页 > 移动开发 > IOS开发

IOS开发中设置导航栏主题

2015-06-11 23:39 417 查看
/**
*  系统在第一次使用这个类的时候调用(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];
}
}


IOS开发技术交流QQ群:491355147 欢迎加入一起讨论技术哦
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: