在做文字新闻等app的时候,常常会使用基本的框架,即UINavigationController + UITabBarController,这个框架也是最简单最常用的一种,在这个框架中,我们会自定义UINavigationBar的属性等,本文是对常见的属性进行自定义。
一下就是自定义的一个NavigationController的NavigationBar。
1. 需要自定义一个NavigationController,并重写+ (void)initialize方法
+ (void)initialize
2. 先取出NavigationBar,并设置背景图片
UINavigationBar *bar = [UINavigationBar appearanceWhenContainedIn:[ILNavigationController class], nil];
[bar setBackgroundImage:[UIImage imageNamed:@"NavBar64"] forBarMetrics:UIBarMetricsDefault];
3. 设置导航栏标题颜色和字体大小
NSMutableDictionary *dictM = [NSMutableDictionary dictionary];
dictM[NSForegroundColorAttributeName] = [UIColor whiteColor];
dictM[NSFontAttributeName] = [UIFont boldSystemFontOfSize:20];
[bar setTitleTextAttributes:dictM];
4. 设置返回按钮的颜色
bar.tintColor = [UIColor whiteColor];
5. 修改状态栏的颜色
总共有两种修改状态栏的方式
第一种是使用ViewController修改,修改时需要重写- (UIStatusBarStyle)preferredStatusBarStyle,在方法中返回要设置的StatusBarStyle
另一种是使用UIApplication修改,使用这个方式修改需要先修改plist文件,添加一个View controller-based status bar appearance,并设置为NO
</pre><span style="font-size:18px;"></span><pre name="code" class="objc"><span style="font-size:18px;">把要设置的</span><span style="font-size:18px;">BarStyle</span><span style="font-size:18px;">赋值就可以实现了
[UIApplication sharedApplication].statusBarStyle</span>