切换没有StoryBoard的TabBarView

时间:2013-05-13 07:35:49

标签: objective-c uitabbarcontroller

我有一个ConnectionViewController,当我点击Test按钮时,我想切换一个tabViewController。

在我的ConnectionViewController中:

- (IBAction)testButton:(id)sender {

    TabBarViewController *tabBarViewController = [[TabBarViewController alloc] init];

    [self presentViewController:tabBarViewController animated:YES completion:nil];


}

但是当我点击我的测试按钮时,TabBarView是黑色的,没有任何东西。

我该怎么做才能解决这个问题?我想要一个模态,而不是推动。

很多

[编辑]:解决方案是使用此方法创建类似CustomSegue.m的类的自定义segue:

-(void) perform {

    ConnectionViewController *src = (ConnectionViewController*) self.sourceViewController;
    TabBarViewController *dest = (TabBarViewController*) self.destinationViewController;

    [UIView transitionWithView:src.navigationController.view duration:0.2 options:UIViewAnimationOptionTransitionFlipFromLeft animations:^{

        [src presentViewController:dest animated:YES completion:NULL];

    }
                    completion:NULL];

}

1 个答案:

答案 0 :(得分:0)

标签栏控制器为黑色的原因是它没有任何viewControllers来呈现。您需要在呈现之前设置tabBarController.viewControllers属性。假设您要在第一个选项卡上显示带有viewController1的tabBarViewController,在第二个选项卡上显示viewController2。

tabBarViewController.viewControllers = @[viewController1, viewController2];