Контроллер навигации внутри TabViewController - PullRequest
0 голосов
/ 18 мая 2011

Я редактирую свой вопрос, что я программно добавил панель вкладок, как показано ниже: -

FirstViewController *obj_FirstViewController = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];     
SecondViewController *obj_SecondViewController = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
ThirdViewController *obj_ThirdViewController = [[ThirdViewController alloc] initWithNibName:@"ThirdViewController" bundle:nil]; 
navigation1 = [[UINavigationController alloc] initWithRootViewController:obj_FirstViewController];  
navigation2 = [[UINavigationController alloc] initWithRootViewController:obj_SecondViewController];
navigation3 = [[UINavigationController alloc] initWithRootViewController:obj_ThirdViewController];
MainTabBar = [[UITabBarController alloc] init];
MainTabBar.delegate=self;
[MainTabBar setViewControllers:[NSArray arrayWithObjects:navigation1,navigation2,navigation3,nil]];
MainTabBar.view.frame=self.view.frame;
MainTabBar.selectedIndex=0;
[self.view addSubview:MainTabBar.view]

Написав это в (void) viewDidLoad, я получил вкладку 3 в моем viewcontroller. Но проблема в том, что я хочу установить имя вкладки как

  1. Дом
  2. Избранное
  3. О нас

Я пытался написать следующий код: -

  1. obj_FirstViewController.tabBarItem.title = @ "Home";
  2. self.title = @ "My View Controller";

Но это не работает - кто-нибудь может помочь мне, как сделать это программно? Где написать строку, чтобы я получил это 3 имени в панели вкладок

Ответы [ 2 ]

0 голосов
/ 18 мая 2011

вот как я это сделал

1) Я сделал контроллер представления с вашей вкладкой 2) добавил контроллеры представления для каждой вкладки и метод в класс контроллера представления панели вкладок: - (void) updateContentsWithViewController :(UIViewController *) insideViewController

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

3) вот код для переключения

- (void)updateContentsWithViewController:(UIViewController *)insideViewController {
//internalViewController is the viewController which you change 

[internalViewController.view removeFromSuperview];
[internalViewController release];

internalViewController = [insideViewController retain];
navController = [[UINavigationController alloc] initWithRootViewController:insideViewController];
[navController setNavigationBarHidden:YES];

[navController.view setFrame:CGRectMake(0, 0, 320, 348)];
//frame I needed in my app .. can be changed 

[self.internalView addSubview: navController.view];
//navController is the property for the navigationController

[self.view sendSubviewToBack: self.internalView];

}

0 голосов
/ 18 мая 2011

возможно добавить tabBar в отдельном контроллере представления, который будет похож на контроллер rootview, затем в viewDidLoad корневого контроллера представления назначьте объект tabbar, созданный объявленной appdelegate tabBar ... затем используйте tabdebar appdelegate для других навигационных систем. 1001 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...