我创建了一个以nginx.conf
作为初始UITabbarController
的故事板,并在标签栏中添加了6个项目
直到这里很好。现在我需要在以下条件下管理标签栏项目:
我可以通过以下代码
删除rootViewController
中didFinishLaunchingWithOptions
中的标签项
AppDelegate
但是当用户使用第5个标签进行注册和登录时,我需要这样做
成功登录后我将标签索引更改为0,并在- (BOOL)application : (UIApplication *)application didFinishLaunchingWithOptions : (NSDictionary *)launchOptions {
NSString *getUserLoggedStatus = [[NSUserDefaults standardUserDefaults] valueForKey : @"USER_STATUS"];
BOOL loggedStatus = ([getUserLoggedStatus isEqualToString : @"1"]) ? true : false;
UIStoryboard *storyboard = [UIStoryboard storyboardWithName : @"Main" bundle : nil];
UITabBarController *tabbarController = [storyboard instantiateViewControllerWithIdentifier : @"MyTabBarController"];
NSMutableArray *tabbarItems = [NSMutableArray arrayWithArray : tabbarController.viewControllers];
if (!loggedStatus) {
for (UINavigationController *nav in tabbarItems) {
if([nav.restorationIdentifier isEqualToString : @"CommunityStoryboardID"]) {
[tabbarItems removeObject : nav];
break;
}
}
[tabbarController setViewControllers : [NSArray arrayWithArray : tabbarItems]];
} else {
for (UINavigationController *nav in tabbarItems) {
if([nav.restorationIdentifier isEqualToString : @"RegisterStoryboardID"]) {
[tabbarItems removeObject : nav];
break;
}
}
[tabbarController setViewControllers : [NSArray arrayWithArray : tabbarItems]];
}
self.window.rootViewController = tabbarController;
return YES;
}
viewDidLoad
中添加以下代码,条件是用户已登录并从注册/登录页面重定向
HomeViewController
上面的代码不起作用,并没有抛出任何错误。 请协助。