JASidePanels работает с UITabBarController

Я использую JaSidePanels для приложения. Я хочу открыть Sidepanel в одной из вкладок UITabBarController а затем скрыть панель вкладок, как это делает Facebook, но только в одной из трех вкладок.

После того, как я войду в свое приложение. 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)];
    }];

Вы можете скрыть панель вкладок, когда отображается боковая панель.

Насчет кнопки, может быть, вы имеете в виду leftButtonForCenterPanelВы можете легко удалить его при необходимости.

Другие вопросы по тегам