For those who have tried upgrading to iOS5, you will notice that the navigation controllers no longer call the viewWillAppear and viewWillDisappear methods on your view controllers when pushing and poping from the stack.  I was about to go nuts when I realized a simple solution to the problem.  I have an existing project that uses a custom navigation controller.  It was originally done to provide a custom background for the title bar, but now it is saving my but functionally.  To regain the functionality of the viewWillAppear and viewWillDisappear in your navigation popViewControllerAnimated method add this method to your custom navigation controller:


- (UIViewController *)popViewControllerAnimated:(BOOL)animated


    UIViewController* viewController = [super popViewControllerAnimated:animated];

    UIViewController* nextViewControler = [self.viewControllers lastObject];

    [nextViewControler viewWillAppear:animated];

    [viewController viewWillDisappear:animated];


    return viewController;



I hope this helps someone, it took me forever to get this far.