2014-02-17 3 views
0

Я пытаюсь переключиться на UITabBarController по определенному индексу. Мой метод не работает. Вот мой код:Переключение на UITabBarController с определенным индексом

BaseViewController.m

-(void)switchTabView: (NSString*) viewName inx: (int) index 
{ 
    UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil]; 
    UITabBarController *view = [storyBoard instantiateViewControllerWithIdentifier:viewName]; 
    view.tabBarController.selectedIndex = index; 
    [self presentViewController:view animated:YES completion:nil]; 
} 

ChildViewController.m (наследует BaseViewController)

- (IBAction)backButtonClicked:(id)sender 
{ 
    [self switchTabView:@"tabView" inx:1]; 
} 

Она восходит к UITabBarController, но индекс аргумент, кажется, не имеет значения, так как он всегда поступает в индекс 0.

ответ

2

Попробуйте изменить

-(void)switchTabView: (NSString*) viewName inx: (int) index 
{ 
    UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil]; 
    UITabBarController *view = [storyBoard instantiateViewControllerWithIdentifier:viewName]; 
    view.tabBarController.selectedIndex = index; 
    [self presentViewController:view animated:YES completion:nil]; 
} 

в

-(void)switchTabView: (NSString*) viewName inx: (int) index 
{ 
    UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil]; 
    UITabBarController *view = [storyBoard instantiateViewControllerWithIdentifier:viewName]; 
    view.selectedIndex = index; 
    [self presentViewController:view animated:YES completion:nil]; 
} 
+0

Ну, это было легко. Просто нужно изменить view.tabBarController.selectedIndex = index; to view.selectedIndex = index ;. Благодаря! –

+0

Если вам это нравится, вы должны принять его :) – Avt

+0

Невозможно в течение еще 30 секунд: P –

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