2016-07-16 113 views
0

我在我的项目中使用SWRevealViewController。我的应用程序有TabBarController。我这样做,我打开菜单。当我在菜单中选择它打开没有TabBarController底部。我使用Storyboard。我的开始View是带有类SWRevealViewController的ViewController。我使用标识符sw_rear和类SWRevealViewControllerSegueSetController连接到我的菜单。在菜单之前,我有导航控制器。我还使用标识符sw_front和类SWRevealViewControllerSegueSequeController将SWRevealViewController连接到我的TabBar。我究竟做错了什么?SWRevealViewController与TabBarController

在我的菜单来打开一看我有这样的代码:

BookTableViewController *m = [self.storyboard instantiateViewControllerWithIdentifier:@"Book"]; 
     [self.revealViewController pushFrontViewController:[[UINavigationController alloc] initWithRootViewController:m] animated:YES]; 
     [self.revealViewController setFrontViewPosition:FrontViewPositionLeft animated:YES]; 

回答

0

从我明白了什么,你要正面视图 - 控制是一个标签栏和菜单,没有标签栏?

所以有三件事,前,后,右。如果你还没有看的AppDelegate在RevealControllerExample并尽量做到以下几点,

  1. 创建您的TabBar的实例
  2. 创建SWRevealViewController,初始化与零作为后和你的TabBar作为前(如果您不能使用nil作为后端,只需创建一个UIViewController,但不会使用它)。
  3. 创建你的菜单视图 - 控制,并将其分配到的SWRevealViewController

的rightViewController属性如果这没有解决您的问题,请发表评论,好运气。

+0

我的问题是,当我在我的菜单中选择并打开它。它打开时没有TabBar底部。 – Ales

+0

你菜单viewcontroller需要有一个标签栏?如果是这样,只需将标签栏分配给右侧的ViewController。你需要菜单中的每个选项加载标签栏吗? – JingJingTao

+0

菜单不需要标签栏。菜单中的其他选项(viewcontroller或tableviewcontroller)必须加载标签栏底部。 – Ales

1
//Tabbar controller name on storyboard 
    Tabbarcontroller *tabvc=(Tabbarcontroller *)[self.storyboard instantiateViewControllerWithIdentifier:@"TabbarcontrollerVCId"]; 
    NSLog(@"tabvc controller ===>%@",tabvc.viewControllers); 

    Select viewcontollers and pass index 
    tabvc.selectedIndex=0; 

    [self.revealViewController setFrontViewController:tabvc]; 
    [self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES];