ViewWillAppear
我必须手动调用它们。 ViewWillDisappear
经常被称为。{/ p>
我不知道在哪里调试它。
我认为问题是因为我在4.1上创建了应用程序,人们必须明确地调用viewWillAppear
。
我想,因为viewWillAppear
将根据它与窗口的关系被调用,我可以检查我的viewController
是否有窗口的出口。
我该怎么做?
我怀疑问题出在我的代表处:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[Crashlytics startWithAPIKey:@"a08863b514ef09558ba82fec070cc7468fdbeeae"];
if(getenv("NSZombieEnabled") || getenv("NSAutoreleaseFreedObjectCheckEnabled"))
{
NSLog(@"NSZombieEnabled/NSAutoreleaseFreedObjectCheckEnabled enabled!");
}
[self.window addSubview:self.navController.view]; //This seem to be the problem. I should have specified the viewController and not the view
[self.navController pushViewController:self.MainBadgerApplication animated:YES];
//[cachedProperties singleton].lastAnchor =[cachedProperties currentLocation];
[cachedProperties singleton].currentAnchor=[cachedProperties currentLocation];
self.MainBadgerApplication.selectedIndex=0;
[BNUtilitiesQuick tabBarController:self.MainBadgerApplication didSelectViewController:self.MainBadgerApplication.selectedViewController];
[self.window makeKeyAndVisible];
return YES;
}
我怀疑 [self.window addSubview:self.navController.view];是问题。
另外我在ios5之前听说你必须明确地调用viewController。那么我应该为ios5和ios4创建一个不同的程序(不像为我的程序调用viewController两次有任何危险)
答案 0 :(得分:1)
我怀疑
[self.window addSubview:self.navController.view];
是个问题。
可能。你应该这样做:
self.window.rootViewController = self.navController;
只是添加视图不会将视图控制器正确地放入层次结构中。有关详细信息,请参阅WWDC 2011视图控制器包含视频。