0

我正在将 JaSidePanels 用于应用程序。我想Sidepanel在其中一个选项卡中打开一个UITabBarController,然后像 facebook 一样隐藏 tabBar,但只能在三个选项卡之一中。

在我的应用程序中登录后。ATabBarController出现三个选项卡。在这三个选项卡之一中,我想显示一个侧面板来执行过滤请求,如果我添加JaSidePanelController到 tabController 我可以这样做,但我不能隐藏选项卡栏。另一种选择是将所有内容存储ViewController在 aNavigationController和此导航中,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];
4

1 回答 1

0

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

[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)];
    }];

您可以在显示侧面板时隐藏 tabBar。

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

于 2013-11-12T17:53:14.943 回答