2013-06-12 9 views
0

我想从一个按钮推视图。该方法在点击时被调用,但视图不会被推入导航控制器。下面是按钮点击代码:查看不会按下按钮单击 - Iphone dev

- (IBAction)aboutButtonTapped:(id)sender { 
    NSLog(@"dashBoardButtonTapped"); 
    if (self.aboutView == nil) { 
     self.aboutView = [[About alloc] initWithNibName:@"About" bundle:nil]; 
     [self.navigationController pushViewController:self.aboutView animated:YES]; 
    } 
    else { 
     [self.navigationController pushViewController:self.aboutView animated:YES]; 
    } 
} 

我所试图做的是,我有,当我登录到我的应用程序,选项观点似乎它有按钮。每个按钮都必须推入一个视图。下面是在ViewController.m文件中调用optionsView的代码:

self.optionsView = [[Options alloc] initWithNibName:@"Options" bundle:nil]; 
self.navigationController = [[UINavigationController alloc] initWithRootViewController:self.optionsView]; 

AppDelegate *delegate = [[UIApplication sharedApplication] delegate]; 
delegate.window.rootViewController = self.navigationController; 

请告诉我我在做什么错?

+0

在AppDelegate * delegate =(AppDelegate *)[[UIApplication sharedApplication] delegate]' – pbibergal

回答

1

你必须在添加一个UIViewcontroller到你的appDelegate方法,并利用它RootViewcontrollerUInavigationController anlike波纹管: -

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    // Override point for customization after application launch. 

      self.viewController = [[yourViewcontroller alloc] initWithNibName:@"yourViewcontroller" bundle:nil]; 
      self.navController=[[UINavigationController alloc]initWithRootViewController:self.viewController]; 


    self.window.rootViewController = self.navController; 

    [self.window makeKeyAndVisible]; 
    return YES; 
} 

那么你无需申请各类创建您simplye impliment您的休闲区的推法新的UINavigationController和你的观点被推动,因为你想要的。 :)

+0

仍然不起作用的情况下,将施法强制转换为'AppDelegate' –