ViewWillAppear
자동으로 호출되지 않습니다. 수동으로 호출해야합니다. ViewWillDisappear
이 종종 호출됩니다.내보기 창을 어떻게 알 수 있습니까?
어디서 디버깅해야할지 모르겠다.
사람들이 viewWillAppear
을 명시 적으로 호출해야하는 4.1의 응용 프로그램을 만들었 기 때문에 문제가 있다고 생각합니다.
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를 호출해야한다는 말을 들었습니다. 그래서 나는 [self.window addSubview:self.navController.view];
문제라고 의심
윈도우의 경우 - self.view.window를 확인할 수 있습니다. 그러나 viewWillAppear을 명시 적으로 호출 할 필요는 없으며 뷰 컨트롤러의 라이프 사이클에서 자동으로 호출합니다. – rishi
명시 적으로 viewWillAppear을 호출하지 않습니다. 그게 문제 야. –
한 가지 확실한 점은 어떤보기 컨트롤러 수명주기를 호출 할 필요가 없다는 것입니다. 내비게이션 컨트롤러 계층에 대한 의심이 있습니다. NSLog (@ "% @", self.navigationController.viewControllers)를 로깅 해 볼 수 있습니다. 거기에있는 뷰 컨트롤러 계층 구조가 무엇인지 확인하십시오. – rishi