【iOS开发】iOS7 兼容及navigationbar的细节操作

1:statusBar字体为白色

在plist里面设置View controller-based status bar appearance 为 NO;设置statusBarStyle 为 UIStatusBarStyleLightContent

2:设置statusBar和navigationbar为一体

[nav.navigationBar setBackgroundImage:[UIImage imageNamed:@"bg_navbar.png"] forBarPosition:UIBarPositionTopAttached barMetrics:UIBarMetricsDefault];

3:tabBarItem被选中没效果,需要调用sdk7中的方法:

//兼容ios7以前
[viewController.tabBarItem setFinishedSelectedImage:actionMenu.selectedIcon withFinishedUnselectedImage:actionMenu.icon];
//ios7的方法
viewController.tabBarItem.selectedImage = actionMenu.selectedIcon;

4:刷新状态栏statusBar

[self setNeedsStatusBarAppearanceUpdate]

5:navigationbar上面的BarButtonItem字看不见问题,backBarItem箭头没有,则需要

//ios7设置BarButtonItem字体颜色,则会显示出来,不包括返回箭头
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, 0) forBarMetrics:UIBarMetricsDefault];
//设置BarButtonItem颜色,包括返回箭头
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];

6:取消ios7自带手势,比如navigationcontroller的右滑返回

self.navigationController.interactivePopGestureRecognizer.enabled = NO ;
原文地址:https://www.cnblogs.com/KingQiangzi/p/3506944.html