2012-06-27 1 views
0

Я хочу получить код, который я хочу, чтобы выбранный индекс вкладки в appdelegate. Я могу получить это в своем контроллере, но как я могу получить это в своем appdelegate?Получить выбранную вкладку в appdelegate

Может ли кто-нибудь помочь мне сделать это?

Заранее спасибо.

+1

Возможный дубликат [UITabBar (Контроллер) - Получить индекс удаленных?] (Http://stackoverflow.com/questions/3766230/uitabbarcontroller-get-index-of-tapped) – rishi

ответ

0

вы можете использовать MyTabBar.selectedIndex и поместить в объект в AppDelegateClass .. Или если у вас есть уже TabBar Имеющийся вы можете использовать

AppDelegate *app = [[UIApplication sharedApplication] delegate]; 
NSLog(@"%i",app.Tab.selectedIndex); 

, если вам нужно, чтобы получить его в том же Calss, так что вы можете использовать

NSLog(@"%i",self.Tab.selectedIndex); 

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

-(BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController{ 
    if (tabBarController.selectedIndex == 3) { 
      //if the user will select tab 3 so user will not go to it 
     return NO; 
    }else{ 
      // if any other tab so return yse will let you to other tabs 
     return YES; 
    } 

} 
+0

Где я должен помещать этот код? –

+0

В классе, в котором вы хотите получить выбранную вкладку, просто импортируйте класс applicationdelegate и используйте этот код для доступа к выбранной вкладке –

+0

Но, приятель, возможно ли, если я хочу получить его в классе appdelegate? Причина на самом деле требует, чтобы пользователь предотвращал просмотр контроллера вида в отношении какого-либо условия. –