我正在使用this library在我的应用中实现菜单。如果我删除该应用并运行它,它会成功显示主页上的导航栏。但是如果我退出应用程序而没有注销并再次运行它就没有显示导航栏。
现在我理解NavigationController
的结构如何是ViewControllers
的堆栈。 br />
如果用户尚未退出帐户,以下是AppDelegate.m
我正在HomeViewController
我RootViewController
的内容。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
if([[NSUserDefaults standardUserDefaults]objectForKey:USERID] == nil)
{
NSLog(@"User is not logged in");
}
else
{
NSLog(@"User ID: %@",[[NSUserDefaults standardUserDefaults]objectForKey:USERID]);
HomeViewController *loginController= (HomeViewController*)[mainStoryboard instantiateViewControllerWithIdentifier:@"HomeViewController"];
self.window.rootViewController=loginController;
}
return YES;
}
以下是我在viewDidLoad
的{{1}}中所做的事情:
HomeViewController
同样正如library的演示中所提到的,我使用- (void)viewDidLoad
{
[super viewDidLoad]; self.rootNav = (CCKFNavDrawer *)self.navigationController;
[self.rootNav setCCKFNavDrawerDelegate:self];
self.navigationController.navigationBarHidden=NO;
self.navigationItem.title = @"Recent Posts";
self.navigationItem.hidesBackButton = YES;
}
作为我CCKFNavDrawer
的班级。
我想我已经分享了足够的内容解释我的问题。如果需要更多信息,请告诉我。那么,我该怎么做呢?
答案 0 :(得分:0)
正如我所看到的,您正在将UIViewController
作为rootController。但是如果你想在顶部看到导航栏,你需要使用rootViewController实例化UINavigationController
和init,这是你的HomeViewController
。
注意:您需要将UINavigationController
设为根视图控制器,而不是HomeViewController
修改强>
HomeViewController *loginController= (HomeViewController*)[mainStoryboard instantiateViewControllerWithIdentifier:@"HomeViewController"];
CCKFNavDrawer *navController = (CCKFNavDrawer *)[[CCKFNavDrawer alloc]initWithRootViewController:loginController];
self.window.rootViewController=navController;