2012-01-16 68 views
0

我使用包含5个选项卡的IB创建tabbarcontroller,每个选项卡都包含一系列视图控制器。如何从tabbarcontroller中选择特定的视图控制器?

tab1-厂景,视图2

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]; 

回答

0

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

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

  1. 保持存储基于什么样的viewController你必须在屏幕上显示一定值的全局变量。

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

另外,看看this post