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
Вы можете легко удалить его при необходимости.