iphone上有时候viewWillAppear不被调用

来源:互联网 发布:nginx反向代理配置视频 编辑:程序博客网 时间:2024/05/16 05:01

经常会发现,viewWillAppear那一系列函数不被调用,原因其实很简单,只有window上面的view的contoller中的viewWillAppear才会被调用,而我们常常会用addSubview的方法添加view,这样被添加的view就没有直接加入到window中,就无法调用viewWillAppear。

那么怎样让view都添加到window中呢:

EWorkSpaceAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];appDelegate.window.rootViewController = self.tabBarController;

这样,我们就将此window的rootViewController指向了此viewController,为了避免每个viewController中都这样指向,我们最好将第一个viewController使用UINavigationController,这样push后的viewController就可以直接调用viewWillAppear了。