如何在基于窗口的iPhone应用程序中从app delegate类导航。如何在app委托类中编写pushViewcontroller方法

时间:2012-02-22 11:23:05

标签: iphone objective-c xcode uinavigationcontroller pushviewcontroller

  • 在我的窗口基础应用程序中,当我点击警报视图按钮时,我需要从我的appdelegate导航到信息视图。
  • 警报视图适用于NSlog。
  • 但为了这个目的,我需要推送到另一个视图我用

    [self.navigationController pushViewController:info animated:YES];

但它没有推动。只是nslog只打印

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    //To count the number of launches
    NSInteger i = [[NSUserDefaults standardUserDefaults] integerForKey:@"numOfCalls"];
    [[NSUserDefaults standardUserDefaults] setInteger:i+1 forKey:@"numOfCalls"];
    NSLog(@"the number of active calls are %d",i%3);
    if(i%3==0 && i!=0)
    {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"you might prefer MedChart+"  message:@"Get it now for more options" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Ok",nil];
        [alert show];
        [alert release];
    }

}

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{

        if (buttonIndex == 0)
        {
             NSLog(@"canceled");

        }
        else if (buttonIndex == 1)
        {
            NSLog(@"Pushed to the information view ");

            InformationViewCotroller *info =  [[InformationViewCotroller alloc]initWithNibName:@"InformationViewCotroller" bundle:nil];
            [self.navigationController pushViewController:info animated:YES];     

        }

}

(不要考虑'我'的价值,这是我逻辑的一部分)。 提前致谢

1 个答案:

答案 0 :(得分:1)

在导航到任何viewController之前,为appDelegate的navigationController设置RootController。 添加navigationController.View作为window的子视图。然后你的根控制器将成为第一个ViewController.from,你可以推送到任何viewController。