1.导航目录的设置
导航目录要按照MVC的方式设置,根据Controller有多少Controller就有多少相关的项:
2.设置IOS7显示图片的优化
添加自己写的分类:头文件:
#import <UIKit/UIKit.h>
@interface UIImage (MJ)
/**
* 加载图片
* @param name 图片名
*/
+ (UIImage *)imageWithName:(NSString *)name;
@end
实现文件:
#import "UIImage+MJ.h"
#import "Header.h"
@implementation UIImage (MJ)
+ (UIImage *)imageWithName:(NSString *)name
{
if (iOS7) {
NSString *newName = [name stringByAppendingString:@"_os7"];
UIImage *image = [UIImage imageNamed:newName];
if (image == nil) { // 没有_os7后缀的图片
image = [UIImage imageNamed:name];
}
return image;
}
// 非iOS7
return [UIImage imageNamed:name];
}
@end
3.判断设置是否是IOS7,选择加载图片
#define iOS7 ([[UIDevice currentDevice].systemVersion doubleValue] >= 7.0)/**
* 初始化一个子控制器
*
* @param childVc 需要初始化的子控制器
* @param title 标题
* @param imageName 图标
* @param selectedImageName 选中的图标
*/
- (void)setupChildViewController:(UIViewController *)childVc title:(NSString *)title imageName:(NSString *)imageName selectedImageName:(NSString *)selectedImageName
{
// 1.设置控制器的属性
childVc.title = title;
// 设置图标
childVc.tabBarItem.image = [UIImage imageWithName:imageName];
// 设置选中的图标
UIImage *selectedImage = [UIImage imageWithName:selectedImageName];
if (iOS7) {
childVc.tabBarItem.selectedImage = [selectedImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
} else {
childVc.tabBarItem.selectedImage = selectedImage;
}
// 2.包装一个导航控制器
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:childVc];
[self addChildViewController:nav];
}
显示结果图形: