iOS 自定义各类bar的属性
2014-11-08 16:36
288 查看
在iOS应用开发中,经常需要为导航栏和标签栏设置相同的主题,一个一个去设置的话,就太麻烦了,可以通过对应用中所有的导航栏和标签栏同意设置背景、字体等属性。
如:创建一个继承自“UINavigationController”的公共父类,然后应用中所有的NavigationController都继承UINavigationController,通过在UINavigationController类中的类方法
initialize中对导航栏属性进行设置,就会对项目中所有的导航栏控制器起作用
示例代码如下:
如:创建一个继承自“UINavigationController”的公共父类,然后应用中所有的NavigationController都继承UINavigationController,通过在UINavigationController类中的类方法
initialize中对导航栏属性进行设置,就会对项目中所有的导航栏控制器起作用
示例代码如下:
+ (void)initialize { #warning 可以通过设置UITabBar主题的方式来修改UITabBar中按钮的颜色 UITabBar *tabBar = [UITabBar appearance]; NSMutableDictionary *tabAttrs = [NSMutableDictionary dictionary]; tabAttrs[UITextAttributeTextColor] = [UIColor orangeColor]; [tabBar setTintColor:[UIColor orangeColor]]; // 1 设置UINavigationBar UINavigationBar *navBar = [UINavigationBar appearance]; //1.1 设置状态栏 [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleBlackOpaque; //1.2 设置背景图片 [navBar setBackgroundImage:[UIImage imageWithName:@"navigationbar_background"] forBarMetrics:UIBarMetricsDefault]; //1.3.设置字体 NSMutableDictionary *attrs = [NSMutableDictionary dictionary]; attrs[UITextAttributeTextColor] = [UIColor blackColor]; attrs[UITextAttributeTextShadowOffset] = [NSValue valueWithCGSize:CGSizeMake(0, 0)]; attrs[UITextAttributeFont] = [UIFont systemFontOfSize:20]; [navBar setTitleTextAttributes:attrs]; //2 设置导航条按钮主题 UIBarButtonItem *barItem = [UIBarButtonItem appearance]; //2.1 设置背景图 [barItem setBackButtonBackgroundImage:[UIImage imageWithName:@"navigationbar_button_background"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; [barItem setBackButtonBackgroundImage:[UIImage imageWithName:@"navigationbar_button_background_pushed"] forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault]; [barItem setBackButtonBackgroundImage:[UIImage imageWithName:@"navigationbar_button_background_disable"] forState:UIControlStateDisabled barMetrics:UIBarMetricsDefault]; //2.2 设置字体属性 NSMutableDictionary *itemAttrs = [NSMutableDictionary dictionary]; itemAttrs[UITextAttributeTextColor] = iOS7 ? [UIColor orangeColor] : [UIColor blackColor]; itemAttrs[UITextAttributeTextShadowOffset] = [NSValue valueWithCGSize:CGSizeMake(0, 0)]; itemAttrs[UITextAttributeFont] = [UIFont systemFontOfSize:14]; [barItem setTitleTextAttributes:itemAttrs forState:UIControlStateNormal]; }
相关文章推荐
- iOS UISearchBar 属性、方法详解及应用(自定义搜索框样式)
- IOS UISearch Bar 自定义 属性处理
- IOS 自定义全局navigaitonbar 属性样式
- iOS UIButton各类属性设置大全
- iOS 在TabViewController中设置Tab Bar,且实现自定义
- Objective-C,ios,属性声明(property declarations), 自定义属性,自动生成 get 和 set 方法,getter 和 setter
- (ios实战) UINavigationBar 返回按钮 文本自定义实现
- iOS 开发 中级:UIToolbar,UINavigationBar,UITabBar,UIBarButtonItem,UITabBarItem自定义方法总结
- iOS ZBarSDK 用ZBarReaderView自定义二维码扫描界面
- 【iOS开发-8】UIButton类型属性简单归纳以及自定义按钮的设置
- 自定义ios keyboard tool bar代码片段
- 使用图片方式自定义iOS导航栏navigationItem的backBarButtonItem
- iOS 之键盘的很常用属性和自定义键盘
- 自定义iOS的Back按钮(backBarButtonItem)和pop交互手势(interactivepopgesturerecognizer)
- IOS_自定义UIButton的子视图位置 EdgeInsets属性
- IOS 自定义UISearchBar的背景图
- iOS 开发 中级:UIToolbar,UINavigationBar,UITabBar,UIBarButtonItem,UITabBarItem自定义方法总结 [转]
- iOS 如何自定义UISearchBar 中textField的高度