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

}

ただし、RestaurantListViewControllerviewDidLoadは呼び出さないでください。エラーは表示されません。どうしてか分かりません?私を助けてください。

4

1 に答える 1

1

viewDidLoadviewWillAppearなどはビューコントローラのライフサイクルメソッドであり、ビューがナビゲーションスタックにロードされると自動的に呼び出されます。これらのメソッドを呼び出す必要はまったくありません。

現在、既存のView Controllerにビューを追加しているだけですが、View Controllerのライフサイクルメソッドを呼び出す場合は、新しいViewControllerをロードする必要があります。

次のように使用します-

[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 に答える