iOS ViewDeck删除整个标题栏

iOS ViewDeck删除整个标题栏,ios,objective-c,viewdeck,Ios,Objective C,Viewdeck,我目前正在从事一个项目,该项目涉及Inferis的ViewDeck 我正在寻找创建Facebook风格的菜单界面。然而,我似乎无法为deckController将标题栏保持在本地而不是全局 所以基本上,我有一个rootviewcontroller,它在堆栈上推送一个登录视图控制器。没什么特别的。但当我登录时,它需要将IIViewDeckController推到堆栈上,但没有所有的导航栏 如何编码: neighbourhoodViewController *nextViewController =

我目前正在从事一个项目,该项目涉及Inferis的ViewDeck

我正在寻找创建Facebook风格的菜单界面。然而,我似乎无法为deckController将标题栏保持在本地而不是全局

所以基本上,我有一个rootviewcontroller,它在堆栈上推送一个登录视图控制器。没什么特别的。但当我登录时,它需要将IIViewDeckController推到堆栈上,但没有所有的导航栏

如何编码:

neighbourhoodViewController *nextViewController = [[neighbourhoodViewController alloc] initWithNibName:@"neighbourhoodViewController" bundle:nil];
menuViewController *leftViewController = [[menuViewController alloc]  initWithNibName:@"menuViewController" bundle:nil];
IIViewDeckController* deckController =  [[IIViewDeckController alloc] nitWithCenterViewController:nextViewController leftViewController:leftViewController];
deckController.leftSize = 100.0f;
[self.navigationController pushViewController:deckController animated:YES];
输出为以下屏幕截图:

正如您所看到的,菜单是“在viewcontroller中”,但它需要在外部,因此导航栏应该与中间的TableViewController一起向右滑动

我试图隐藏所有导航栏,但似乎没有任何效果。此外,我还尝试从AppDelegate启动它,因为示例中就是这样。它起作用了。但是,我需要从登录视图控制器运行它


Thnx

您需要稍微重新安排您的结构

将IIViewDeckController设置为应用程序的rootViewController,并将其centreController设置为您的UINavigationController

让LoginViewController在开始时成为UINavigationController的topViewController,从而显示要开始的登录视图。 如果不想在登录时看到导航栏,请将其添加到LoginViewController:

-(void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [self.navigationController setNavigationBarHidden:YES animated:YES];
}

-(void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    [self.navigationController setNavigationBarHidden:NO animated:YES];
}
要在登录时防止任何ViewDeck操作,请在ViewDeck的委托中执行此操作:

- (BOOL)viewDeckController:(IIViewDeckController*)viewDeckController shouldOpenViewSide:(IIViewDeckSide)viewDeckSide {
    UINavigationController *navController = (UINavigationController*)self.centerController;

    if([[navController viewControllers] count] < 2) {
        return NO;
    }

    return YES;
}
-(BOOL)viewDeckController:(IIViewDeckController*)viewDeckController应打开ViewSide:(IIViewDeckSide)viewDeckSide{
UINavigationController*导航控制器=(UINavigationController*)self.centerController;
如果([[navController ViewController]计数]<2){
返回否;
}
返回YES;
}
显然,当用户成功登录时,只需将“NeighboryViewController”推到堆栈上即可。当他们注销时,再次将其弹出