使用 UITabBarController 的 JASidePanels

Posted

技术标签:

【中文标题】使用 UITabBarController 的 JASidePanels【英文标题】:JASidePanels working with UITabBarController 【发布时间】:2013-11-12 17:21:29 【问题描述】:

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

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

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

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】:

为什么不能隐藏标签栏?在 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,您可以在需要时轻松删除它。

【讨论】:

如何用这种方法去掉按钮?

以上是关于使用 UITabBarController 的 JASidePanels的主要内容,如果未能解决你的问题,请参考以下文章

UITabBarController

如何使屏幕仅垂直。 (UITabBarController/Swift)

UITabBarController简单介绍

使用 UITabBarController 旋转接口

使用 UITabBarController 的 JASidePanels

iOS开发UI篇—UITabBarController生命周期(使用storyoard搭建)