UIViewController viewDidLoad没有调用

时间:2012-06-26 05:33:17

标签: ios4 uiviewcontroller

我是ios开发的新手。我想开发自定义导航按钮方法。

-(void) handleNext:(id)sender
{
      MRGAppDelegate *appDelegate = (MRGAppDelegate*)
      [[UIApplication sharedApplication]delegate];

      [appDelegate.viewController GotoDirectoryView:self.restListViewController calledView:self.view];

}

在MRGViewController.m

 -(void) GoToDirectoryView:(RestaurantListViewController*) resViewContrller calledView:(UIView*)viewControllerView
{
     self.resListViewController = resViewController;
     [resViewController release];
     [viewControllerView removeFromSuperview];
     [self.resListViewController viewDidLoad];
     [self.view addSubview:self.resListViewController.view];

}

但是不要调用RestaurantListViewController viewDidLoad不要调用。没有错误出现。我不知道为什么?请帮帮我。

1 个答案:

答案 0 :(得分:1)

viewDidLoadviewWillAppear等是视图控制器生命周期方法,当在导航堆栈上加载视图时会自动调用这些方法。您根本不需要调用这些方法。

目前,您只是在现有视图控制器上添加视图,而如果希望调用视图控制器生命周期方法,则需要加载新的视图控制器。

使用喜欢 -

[self.navigationController pushViewController:restListViewController animated:YES];
[restListViewController release];

编辑1 -

 restListViewController = [[RestaurantListViewController alloc] init];

[self presentModalViewController:restListViewController animated:YES]; 
 [restListViewController release];