Как получить доступ к TabBar нажмите из другого viewController - PullRequest
0 голосов
/ 10 октября 2011

моя домашняя страница представляет собой tabbarView, теперь у меня есть контроллер presentModalView, и, как мы знаем, modalview занимает весь экран, теперь у этого представления есть кнопка, при нажатии которой я хочу закрыть модальное представление и выбрать вторую вкладку моего домашняя страница, так как я могу это сделать.

спасибо и С уважением Ранджит

Ответы [ 2 ]

4 голосов
/ 10 октября 2011

Давайте предположим, что ваш экземпляр TabbarController находится в appDelegate. Когда вы закрываете modalView, вы публикуете уведомление. Ваш представитель приложения будет наблюдать за этим уведомлением, и когда он его получит, он вызовет [myTabController setSelectedIndex: 2]; Ниже может быть код:

// modalViewController
-(void)dismiss
{
   //your regular code
   [[NSNotificationCenter defaultCenter] postNotificationName:@"modalDismissed" object:nil];
}
//appDelegate
-(void)applicationDidFinish....
{
  //your regular code
  [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(selectAnotherTab)   name:@"modalDismissed" object:nil];
}
-(void)selectAnotherTab
{
   [myTabController setSelectedIndex:2];
}
0 голосов
/ 10 октября 2011

здесь вам нужно использовать объект класса appdelegate tabbarcontroller для изменения индекса или табуляции, попробуйте следующее

 [self.tabBarController setSelectedViewController:<#(UIViewController *)#>];
 or
  [self.tabBarController setSelectedIndex:<#(NSUInteger)#>];

, например,

app_appAppDelegate *appdelegate=(app_appAppDelegate *)[[UIApplication sharedApplication]delegate];

[appdelegate.tabBarController setSelectedIndex:2];

У меня грубый код может выдать ошибку, поэтомупожалуйста, проверьте его

РЕДАКТИРОВАТЬ

 app_appAppDelegate *appdelegate=(app_appAppDelegate *)[[UIApplication  sharedApplication]delegate];

[appdelegate.tabBarController  setSelectedViewController:[appdelegate.tabBarController.viewControllers objectAtindex:1]];
...