2013-08-06 2 views
1

это мнение присутствующих 5 кнопок (извините на французском языке)реализация контроллера панели вкладок

this view present 5 buttons(sorry is in french)

я хочу реализовать tabbarcontroller, когда я выбираю одну кнопку, она будет перемещаться к tabbarControllerClass моя проблема, что я не знаю, как программировать действия в каждом buttton, чтобы подтолкнуть к этой точке зрения

это пример mesAlertbuttonpressed

-(IBAction)MesAlertsButtonPressed:(id)sender{ 
TabBarControllerViewController *tabBarControllerViewController = [[TabBarControllerViewController alloc]initWithNibName:@"TabBarControllerViewController" bundle:nil]; 
[email protected]"Alert"; 
[self.navigationController pushViewController:tabBarControllerViewController animated:YES]; 

enter image description here

ответ

1

Создать метод в AppDelegate.m класса и вызвать этот метод, если вы хотите, чтобы отобразить tabController Для примера:

-(void)setRootViewControllerTab1{ 

    UIViewController *viewController1, *viewController2, *viewController3, *viewController4, *viewController5; 
    UINavigationController *navviewController1 , *navviewController2, *navviewController3, *navviewController4, *navviewController5; 

    viewController1 = [[[HomeViewController alloc] initWithNibName:@"HomeViewController" bundle:nil] autorelease]; 
    navviewController1=[[UINavigationController alloc]initWithRootViewController:viewController1]; 

    viewController2 = [[[HowItWorksViewController alloc] initWithNibName:@"HowItWorksViewController" bundle:nil] autorelease]; 
    navviewController2=[[UINavigationController alloc]initWithRootViewController:viewController2]; 

    viewController3 = [[[JoiniAppointViewController alloc] initWithNibName:@"JoiniAppointViewController" bundle:nil] autorelease]; 
    navviewController3=[[UINavigationController alloc]initWithRootViewController:viewController3]; 


    viewController4 = [[[BecomeBussUserViewController alloc] initWithNibName:@"BecomeBussUserViewController" bundle:nil] autorelease]; 
    navviewController4=[[UINavigationController alloc]initWithRootViewController:viewController4]; 

    viewController5 = [[[ContactUsViewController alloc] initWithNibName:@"ContactUsViewController" bundle:nil] autorelease]; 
    navviewController5=[[UINavigationController alloc]initWithRootViewController:viewController5]; 

    self.tabBarController.viewControllers = [NSArray arrayWithObjects:navviewController1, navviewController2,navviewController3,navviewController4,navviewController5, nil]; 

    self.window.rootViewController = self.tabBarController; 

    [self.window makeKeyAndVisible]; 
} 

и вызвать этот метод на эту кнопку мыши событие, как сильфона ..

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 
[appDelegate setRootViewControllerTab1]; 
0

Я не уверен, если я понимаю вы правы. Вы уже просматриваете контроллер вида? Если нет, то ваше действие не будет работать.

вы можете попробовать, чтобы показать его модальный:

-(IBAction)MesAlertsButtonPressed:(id)sender 
{ 
    TabBarControllerViewController *tabBarControllerViewController = [[TabBarControllerViewController alloc]initWithNibName:@"TabBarControllerViewController" bundle:nil]; 
    [email protected]"Alert"; 
    [self presentModalViewController:tabBarControllerViewController animated:YES]; 
} 

иначе вы должны прочитать документы о UINavigationController.

1

Используйте эту строку кода для вызова метода для создания Вкладка бар-

AppDelegate *appDelegateObj = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 
[appDelegateObj createTabBar]; 

Фактический метод

-(void)createTabBar 
    { 
     self.tabBarController.customizableViewControllers = nil; 

      Home *homeObj = [[Home alloc] initWithNibName:@"Home" bundle:nil]; 
      UINavigationController *tab1Controller = [[UINavigationController alloc] initWithRootViewController:homeObj];  

      ChatList *chatListObj = [[ChatList alloc] initWithNibName:@"ChatList" bundle:nil]; 
      UINavigationController *tab2Controller = [[UINavigationController alloc] initWithRootViewController:chatListObj]; 


      Settings *settingObj = [[Settings alloc] initWithNibName:@"Settings" bundle:nil]; 
      UINavigationController *tab3Controller = [[UINavigationController alloc] initWithRootViewController:settingObj]; 

      self.tabBarController.viewControllers = [NSArray arrayWithObjects: tab1Controller, tab2Controller,tab3Controller, nil]; 
      self.tabBarController.selectedIndex=0; 
      self.tabBarController.delegate = self; 


      self.window.backgroundColor=[UIColor clearColor]; 
      self.tabBarController.view.backgroundColor=[UIColor clearColor]; 


      self.window.rootViewController = self.tabBarController; 

      [self.window makeKeyAndVisible]; 


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