self.tabBarController setSelectedIndex:不起作用

时间:2013-05-22 17:42:15

标签: ios6 storyboard uitabbarcontroller uitabbar

项目中的事情: 一个故事板,其中只包含一个标签栏控制器和四个视图控制器(所以我有四个标签栏项目和四个segues,非常非常简单) 标签栏控制器使用的自定义Obj-Class,并在“self.view”上绘制一个按钮

问题是什么: 想要模拟“按标签栏项目”但不是它不起作用。请帮忙。 (我没有任何其他自定义对象类,但是UITabBarController唯一的一个) 我尝试了什么:

[(UITabBarController*)self.navigationController.topViewController setSelectedIndex:3];

[self.tabBarController setSelectedIndex:3];


[self.tabBarController setSelectedController
    [self.tabBarController setSelectedViewController:[self.tabBarController.viewControllers objectAtIndex:3]];

custom-obj-class.m:

- (IBAction)buttonPressed:(UIButton *)sender
{    
    if (self.tabBarController) {
        NSLog(@"I have a tab bar");
        [self.tabBarController setSelectedIndex:1];
    } else {
        NSLog(@"I don't have"); // I GOT THIS ONE
    }
    return;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
...
    UIBarButtonItem *realRoomItem = [[UIBarButtonItem alloc] initWithImage:realRoomImage style:UIBarButtonItemStylePlain target:self action:@selector(buttonPressed:)];
...
}

1 个答案:

答案 0 :(得分:1)

对不起,这是一个很大的错误。它应该是“self”而不是“self.tabBarController”,因为我的custom-obj-class是UITabBarController的类,并且也在其中使用。