[英]viewwillappear and viewdidappear not called in Xcode 9
我有一個 iPad 應用程序,我將 Landingviewcontroller 添加到導航控制器並將此導航控制器添加到窗口的 rootviewcontroller。 我曾經在 LandingviewController 的 viewwillappear 中執行一些操作。 但是,突然在 Xcode9 中它停止調用。 這是我的代碼 -
- (void) applicationDidFinishLaunching: (UIApplication *) application {
self.landingPageController = [[LandingPageViewController alloc] init];
self.introViewController = [[UINavigationController alloc] initWithRootViewController:self.landingPageController];
_window.rootViewController = self.introViewController;
[_window makeKeyAndVisible];
}
在LandingPageViewController中不會調用ViewDidAppear和ViewWillAppear方法。
知道為什么沒有調用這些方法嗎?
編輯:添加了 viewDidAppear 和 ViewWillAppear 方法
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[self.navigationController setNavigationBarHidden:YES animated:YES];
[self setupCoverView];
}
-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
// load news view controller
[self news:userChanged];
}
代替
_window.rootViewController = self.landingPageController;
和
_window.rootViewController = self.introViewController;
在您的情況下, Navigation controller
應該是您的rootviewcontroller
!
檢查你的targets配置,刪除Main Interface的值,然后在didFinishLaunchingWithOptions的開頭添加代碼。 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.