iOS6创建iOS7风格导航导,导航条自动添加返回按钮
- (void)viewDidLoad{ ;if ([[ systemVersion] floatValue] < 7.0) {
// 1、修改导航条样式 UINavigationBar *bar = ; // 修改导航条背景 forBarMetrics:UIBarMetricsDefault]; // 修改导航条文字样式 UITextAttributeTextColor : , UITextAttributeTextShadowOffset : }];
// 2、修改导航条按钮样式 UIBarButtonItem *item = ;
UIImage *normal = ; UIImage *highlight = ;
// 修改导航条按钮背景 ; ;
// 修改导航条按钮文字样式 UITextAttributeTextColor : kBlueColor, UITextAttributeTextShadowOffset : , } forState:UIControlStateNormal]; UITextAttributeTextColor : kBlueColor, UITextAttributeTextShadowOffset : } forState:UIControlStateHighlighted];
; ;
// 3、修改状态栏样式 .statusBarHidden = NO; .statusBarStyle = UIStatusBarStyleBlackOpaque;
}}
#pragma mark - 2、代理方法#pragma mark 2.1、控制器将要视图显示- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated{ // 在未自定义导航条返回键的情况下,iOS6及以下版本设备导航条自动添加仿iOS7返回按钮(根控制器例外) if (!(viewController == navigationController.viewControllers.firstObject || [(RMBaseVCtrl *)viewController isCustomNBI]) && ]){
// 栈控制器数组 NSArray *vcs = navigationController.viewControllers;
// 前一个控制器序号 int penultimate = (int)vcs.count - 2;
if (penultimate >= 0) {
// 前一个控制器标题 NSString *title = [ title];
if (title == nil || title.length > 4) title = @"返回";
// 返回按钮文字为前一个控制器标题、基本功能为返回上一级目录 viewController.navigationItem.leftBarButtonItem = ; } }}
#pragma mark 2.2、控制器完成视图显示- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated{// NSLog(@"def");}
页:
[1]