JASidePanels使用UITabBarController

时间:2013-11-12 17:21:30

标签: ios iphone objective-c uitabbarcontroller jasidepanels

我正在使用JaSidePanels作为应用程序。我想在Sidepanel的其中一个标签中打开UITabBarController,然后像facebook一样隐藏tabBar,但只能在三个标签中的一个标签中隐藏。

在我的应用程序中登录后。显示TabBarController有三个标签。在这三个选项卡中的一个中,我想显示一个侧面板来执行过滤请求,如果我将JaSidePanelController添加到tabController,我可以这样做,但我无法隐藏标签栏。另一个选项是将ViewController中的所有NavigationController存储在JaSidePanelController.centerPanel = navigationController;中,然后在每个标签中我可以打开SidePanel并查看打开的侧面板按钮。我试图隐藏按钮,但我没有。有什么想法吗?

这是我的代码,我使用的是第二个选项:

UITabBarController *tabBarController = [[UITabBarController alloc] init];
WPPlansViewController *plansVC = [[WPPlansViewController alloc] init];

plansVC.title = @"Mis planes";
WPStoreListViewController *sherpaVC = [[WPStoreListViewController alloc] init];
sherpaVC.title = @"Be Sherpa";
WPProfileViewController *profileVC = [[WPProfileViewController alloc] init];
profileVC.title = @"Perfil";

[tabBarController setViewControllers:@[plansVC,sherpaVC,profileVC]];
[tabBarController setSelectedIndex:1];

JASidePanelController *jaSidePanelVC = [[JASidePanelController alloc] init];
jaSidePanelVC.shouldDelegateAutorotateToVisiblePanel = NO;

jaSidePanelVC.leftPanel = [[WPFilterSidePanelViewController alloc] init];
UINavigationController *nav4 = [[UINavigationController alloc] initWithRootViewController:tabBarController];
nav4.navigationBar.topItem.title = nil;


jaSidePanelVC.centerPanel = nav4;
jaSidePanelVC.rightPanel = nil;

[self presentViewController:jaSidePanelVC animated:NO completion:nil];

1 个答案:

答案 0 :(得分:0)

为什么你不能隐藏tabbar?在UITabBarController(它的子类)中,将self.tabBar的框架更改为off屏外,如下所示:

[UIView animateWithDuration:0.3 animations:^{
            [self.tabBar setFrame:CGRectMake(self.tabBar.frame.origin.x, self.view.frame.size.height, self.tabBar.frame.size.width, self.tabBar.frame.size.height)];
    }];

显示sidePanel时,您可以隐藏tabBar。

关于按钮,也许您指的是leftButtonForCenterPanel,您可以在需要时轻松将其删除。