2010-01-11 13 views

Odpowiedz

11

Jeśli korzystasz z storyboardu, zrób to

w didFinishLaunchingWithOptions

UITabBarController *tabBar = (UITabBarController *)self.window.rootViewController; 
[tabBar setDelegate:self]; 

Również w AppDelegate zachować <UITabBarControllerDelegate>

A potem

-(void) tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController 
{ 
    //Write your code here 
} 
+1

nie działać nie działać – Gank

4

Zapraszamy do obejrzenia poniższej metody w UITabBarControllerDelegate:

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController 

opowiada delegata, że ​​użytkownik wybrany element na pasku kart.

1

Czy UITabBarControllerDelegate to czego szukasz, szczególnie - tabBarController:didSelectViewController:?

34

Implementacja UITabBarControllerDelegate np. W aplikacji delegata applicationDidFinishLaunching

- (void)applicationDidFinishLaunching:(UIApplication *)application 
{ 
    tabBarController.delegate = self; 
    [window addSubview:tabBarController.view]; 
} 

Następnie wdrożyć albo:

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController; 

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController; 

Pierwsza metoda jest wywoływana przed przełącznikiem widzenia i daje szansę na wetujące przełącznik widoku wracając NO

Druga metoda jest wywoływana po przełączeniu widoku

Powiązane problemy