問題:當UIViewController的view通過add的方式添加到其他controller上時,導緻viewWillAppear等這些函數不被調用
solve:當ios的版本從5.0開始之後,UIViewController的view不管是通過何種方式增加到其他的controller上,viewWillAppear、viewDidAppear等這些函數都會執行,隻有5.0以下的版本才需要做特殊處理
特殊處理如下:
隻需要在UINavigationController的根controller中實作就行
.h檔案,實作UINavigationControllerDelegate
@interface DPayGameShopViewController :
UIViewController<UINavigationControllerDelegate>
.m檔案:
- (void)viewDidLoad {
[super
viewDidLoad];
//判斷系統版本
if
([[DPayConfig sharedInstance] isLowIOSVersion]
&& nil ==
self.navigationController.delegate) {
self.navigationController.delegate = self;
}
}
- (void)dealloc {
self.navigationController.delegate = nil;
dealloc];
#pragma mark - UINavigationControllerDelegate method
- (void)navigationController:(UINavigationController
*)navigationController willShowViewController:(UIViewController
*)viewController animated:(BOOL)animated {
//此處還可以調用viewController其他的類方法
如viewDidAppear等
[viewController viewWillAppear:animated];
然後對應每個頁面隻要實作viewWillAppear這些方法即可
網絡上志同道合,我們一起學習網絡安全,一起進步,QQ群:694839022