Sian 发表于 2014-8-9 23:29:29

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]
查看完整版本: iOS6创建iOS7风格导航导,导航条自动添加返回按钮