Search code examples
ios4delegatesuiviewcontrollerios5viewwillappear

In IOS 4.x or lower, viewDidAppear method is not getting called while adding subview to a view, why?


In iOS 4.x or lower, viewDidAppear and viewWillAppear, viewDidDisappear and viewWillDisappear, such ViewController's delegate methods are not getting called. The same methods work fine with the iOS 5.x.

Why? Is it a bug in iOS 4.x or lower. Because in iOS 5.x all those methods gets called in proper manner and sequence.

Thanks in advance, Mrunal


Solution

  • For IOS4.x i use the UINavigationController delegate methods like this:

    -(void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated
    {
        if (SYSTEM_VERSION_LESS_THAN(@"5.0")) {
            [activeView viewDidAppear:YES];
        }
    }
    -(void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
    {
        if (SYSTEM_VERSION_LESS_THAN(@"5.0")) {
            [activeView viewWillAppear:YES];
        }
    }
    

    I hope this helps!