在IOS 4.x或更低版本中,在向视图添加子视图时未调用viewDidAppear方法,为什么?

Mru*_*nal 10 delegates uiviewcontroller viewwillappear ios4 ios5

在iOS 4.x或更低版本中,viewDidAppear和viewWillAppear,viewDidDisappear和viewWillDisappear,此类ViewController的委托方法未被调用.相同的方法适用于iOS 5.x.

为什么?这是iOS 4.x或更低版本中的错误.因为在iOS 5.x中,所有这些方法都以适当的方式和顺序被调用.

先谢谢,Mrunal

小智 3

对于 IOS4.xi,使用 UINavigationController 委托方法,如下所示:

-(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];
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望这有帮助!