经常会发现,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了。