2013-09-10 6 views
2

Мне нужно иметь вид вида в виде вклада в контроллере представления (например, контроллер 3 просмотра), который находится в стеке навигации и будет нажат другим контроллером представления (например, контроллер 2 просмотра).Как добавить контроллер таблеток в контроллер навигации

Я добавил панель инструментов для просмотра контроллера 3 со многими кнопками. Но управление и переключение между представлениями кажется трудным.

Как добавить контроллер таблеток в середине стека навигации. , пожалуйста, помогите мне.

+0

Это неправильно, потому что tabbarcontroller используется на уровне приложения, вместо использования табуляции вы можете сегментировать контроллер. –

+0

мое предложение добавить tabbarcontroller в presentModalViewController не использовать pushviewcontroller – NANNAV

ответ

1

Вы не можете добавить TabBar туда - tabBar предназначен только для того, чтобы быть внизу. Вы должны создать свой собственный ViewController и добавить его как subView для navigationViewController и реализовать все методы переключения.

2

Вы создаете табуляцию в середине диспетчеризации, вы можете создать структуру панели вкладок с помощью настраиваемого контроллера сегмента. проверьте приведенную ниже ссылку для создания настраиваемого контроллера сегмента.

https://www.cocoacontrols.com/search?q=segment

0

Там было некоторое обсуждение этого проекта в соответствующих вопросах.

То, как я понимаю ваш вопрос, возможно, это возможно. Я нажимаю UITabBarController на UIViewController, который встроен в UINavigationController. Я сделал все в интерфейсе, за исключением push, который я реализовал программно.

Так ViewController.m я добавил действие к кнопке:

- (IBAction)searchForPlacesButtonPressed:(id)sender { 
    TabBarController *tc = [[self storyboard] instantiateViewControllerWithIdentifier:@"TabBarController"]; 
    tc.title = @"Orte"; 
    tc.tabBar.selectedImageTintColor = [UIColor colorWithRed:(28.0f/255.0f) green:(100.0f/255.0f) blue:(52.0f/255.0f) alpha:1.0f]; 
    UIBarButtonItem * logo = [[UIBarButtonItem alloc] initWithCustomView:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"icon_xyz"]]]; 
    tc.navigationItem.rightBarButtonItem = logo; 

    Places *d = [[Places alloc] init]; 
    for (UIViewController *vc in tc.viewControllers) { 
     if ([vc isKindOfClass:[MapViewController class]]) { 
      ((MapViewController *)vc).dataHandler = d; 
      ((MapViewController *)vc).mapViewDelegate = d; 
      vc.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"Karte" image:[UIImage imageNamed:@"map"] tag:0]; 
     } 
     else if ([vc isKindOfClass:[TableViewController class]]) { 
      ((TableViewController *)vc).dataHandler = d; 
      vc.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"Liste" image:[UIImage imageNamed:@"eye"] tag:1]; 
     } 
    } 
    [self.navigationController pushViewController:tc animated:YES]; 
} 

Использование вкладок в нижней части вы можете переключаться между просмотром места на карте и перечислены в таблице.

Смежные вопросы