0

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

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

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

[self.tabBarController setSelectedIndex:3];


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

自定义 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:)];
...
}
4

1 回答 1

1

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

于 2013-05-23T03:15:42.670 回答