0

我是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 不要调用。没有出现错误。我不知道为什么?请帮我。

4

1 回答 1

1

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

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

像这样使用 -

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

编辑 1 -

 restListViewController = [[RestaurantListViewController alloc] init];

[self presentModalViewController:restListViewController animated:YES]; 
 [restListViewController release];
于 2012-06-26T06:14:40.907 回答