由于难度不大,直接上代码了,看一遍基本就明白思路了
1.创建一个tabBarViewController
.m文件
#import "SSTabBarViewController.h"
#import "constant.h"
@interface SSTabBarViewController ()
@end
@implementation SSTabBarViewController
-(instancetype)init
{
self = [super init];
if (self) {
UINavigationController * newNavigationController = [WPUtil getViewControllerWithIdentifier:@"new" storyboardName:@"New"];
UINavigationController * alreadyNavigationController = [WPUtil getViewControllerWithIdentifier:@"already" storyboardName:@"Already"];
UINavigationController * myNavigationController = [WPUtil getViewControllerWithIdentifier:@"my" storyboardName:@"My"];
UINavigationController * moreNavigationController = [WPUtil getViewControllerWithIdentifier:@"more" storyboardName:@"More"];
self.viewControllers = @[newNavigationController, alreadyNavigationController, myNavigationController, moreNavigationController];
UITabBarItem * newItem = self.tabBar.items[0];
newItem.title = @"新订单";
newItem.image = [[UIImage imageNamed:@"xindingdan_hui"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
newItem.selectedImage = [[UIImage imageNamed:@"xindingdan_lv"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UITabBarItem * alreadyItem = self.tabBar.items[1];
alreadyItem.title = @"已处理";
alreadyItem.image = [[UIImage imageNamed:@"yichuli_hui"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
alreadyItem.selectedImage = [[UIImage imageNamed:@"yichuli_lv"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UITabBarItem * myItem = self.tabBar.items[2];
myItem.title = @"我的";
myItem.image = [[UIImage imageNamed:@"wode_hui"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
myItem.selectedImage = [[UIImage imageNamed:@"wode_lv"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UITabBarItem * moreItem = self.tabBar.items[3];
moreItem.title = @"更多";
moreItem.image = [[UIImage imageNamed:@"gengduo_hui"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
moreItem.selectedImage = [[UIImage imageNamed:@"gengduo_lv"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
}
return self;
}
-(void)viewDidLoad {
[super viewDidLoad];
}
@end
2.在appDelegate中设置,将window的rootView设置为我们的tabBar
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
SSTabBarViewController * tabBar = [[SSTabBarViewController alloc] init];
self.window.rootViewController = tabBar;
[self.window makeKeyAndVisible];
return YES;
}
注:这里一定要记得初始化window,否则会造成黑屏
3.设置程序启动后默认进入的viewController
4.注意:如果设置了navigationController此时该viewController的storyboard ID要设置在navigationController上
5.顺便说一句,当隐藏tabBar的时候,如果controllerView上有tableView,那么此时你需要用下面这段代码来让tableView顶部不留下空白部分:
self.automaticallyAdjustsScrollViewInsets = NO;
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。