如何从tabbarcontroller中选择特定的视图控制器?

时间:2012-01-16 08:56:36

标签: ios objective-c

我正在使用包含5个标签的IB创建tabbarcontroller, 每个选项卡都包含一系列视图控制器。

tab1- view1-view2

tab2 - view3

tab3 - view4-view5-view6

tab4 - view7

tab5 - view8-view9

这里我使用的是uilocalnotification 点击通知后,我想从tab3打开view6。

这是我的代码

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {

    UIApplicationState state = [application applicationState];

    if (state == UIApplicationStateInactive) {

        application.applicationIconBadgeNumber = 0;
        [[UIApplication sharedApplication] cancelAllLocalNotifications];

    view6 *v6 = [[view6 alloc] initWithNibName:@"view6" bundle:nil];
     [v6 showmyvalues]; //showmyvalues is the method in view6

    }
}

我也试试这段代码

view6 *v6 = [[view6 alloc] initWithNibName:@"view6" bundle:nil];
    UINavigationController *navigationController =
    [[UINavigationController alloc] v6];


    [tabBarController.selectedViewController.navigationController 
     pushViewController:navigationController animated:YES];

1 个答案:

答案 0 :(得分:0)

你的问题不是很清楚。请提供更详细的解释,说明您要做什么以及实际发生了什么。

根据我的理解,我觉得你必须根据某些条件在屏幕上放置一个viewController。尝试这些提示(仅用于调试):

  1. 根据您必须在屏幕上显示的viewController,保留一个存储特定值的全局变量。

  2. 查看方法UIViewController的方法,如viewDidLoad,viewWillAppear等,这应该是检查全局变量以决定应该显示哪个视图控制器的地方。

  3. 另外,请查看this post