Ios VIEWWILLISPEND和VIEWDIDSPEND未在Xcode 9中调用
我有一个iPad应用程序,我将一个Landingviewcontroller添加到一个navigationcontroller,并将这个navigationcontroller添加到窗口的rootviewcontroller。我过去常常在LandingviewController的ViewWillDisplay中执行一些操作。但是,在Xcode9中,它突然停止了调用。这是我的密码-Ios VIEWWILLISPEND和VIEWDIDSPEND未在Xcode 9中调用,ios,objective-c,iphone,ipad,xcode9,Ios,Objective C,Iphone,Ipad,Xcode9,我有一个iPad应用程序,我将一个Landingviewcontroller添加到一个navigationcontroller,并将这个navigationcontroller添加到窗口的rootviewcontroller。我过去常常在LandingviewController的ViewWillDisplay中执行一些操作。但是,在Xcode9中,它突然停止了调用。这是我的密码- - (void) applicationDidFinishLaunching: (UIApplication *)
- (void) applicationDidFinishLaunching: (UIApplication *) application {
self.landingPageController = [[LandingPageViewController alloc] init];
self.introViewController = [[UINavigationController alloc] initWithRootViewController:self.landingPageController];
_window.rootViewController = self.introViewController;
[_window makeKeyAndVisible];
}
ViewDidDisplay和ViewWillDisplay方法未在登录页面视图控制器中调用
知道为什么这些方法没有被调用吗
编辑:添加了ViewDidDisplay和ViewWillDisplay方法
-(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;
与
导航控制器
应该是您的根视图控制器
检查目标配置,删除主界面的值,然后在didFinishLaunchingWithOptions开头添加代码
self.window=[[UIWindow alloc]initWithFrame:[[UIScreen main screen]bounds]
显示您的视图将出现和视图显示
。是否向您显示视图??introViewController不应该是窗口的根VC吗?您写道导航控制器是窗口的根目录,但在代码中它看起来与此相反。@UmarFarooque-是,JU正在加载XIB内容。@Anbu.Karthik-如果未分配UINavigationController
,则使用XIB也将与out导航控制器一起工作是的,这是正确的,但由于他将viewcontroller作为根,因此他应该将nav设置为窗口的根@安布.卡提克
_window.rootViewController = self.introViewController;