ViewDidAppear: do not shoot under certain conditions?

My nib application has the following elements:

  • normal: file owner, first responder window, delegate
  • View controller "a"
    • View "b"
      • UIScrollView "c"
      • some other things in "b"

In my AppDelegate applicationDidFinishLaunching application, I do this:

  • [window makeKeyAndVisible]
  • [window addSubView: a.view];
  • create view controller "d"
  • create navigation controller "e" using rootviewcontroller "d"
  • invoke [c addSubView: e.view]

Question / problem: when I do all of the above, viewDidAppear: does not shoot for "d". (but shooting viewDidLoad IS). How to find out why he is not shooting, and fix it so that it works?

( viewDidAppear: , viewDidAppear , , , .)

+5
3

, , -viewWillAppear:, -viewDidAppear ..; SDK, -pushViewController:animated:, -presentModalViewController:animated: UITabBarController, .

, ; -addSubview: . , .

+10

, , , viewDidAppear - UIViewController, UIView, .

-, "" UIViewController .

"a" , UIViewController, "a" viewDidAppear, "e" - UIViewContoller (viewDidAppear, viewWillAppear ..)

@Noah, pushViewController, , push-view "" UIViewController.

, , , UIViewController, NSObject, , UIViewController, .

+3

, . UINavigationControllerDelegate - :

-(void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
    //do something here
    [viewController viewWillAppear:animated];
}

-(void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
    [viewController viewDidAppear:animated];
}
+1

All Articles