이 더 나은 아이디어가 그들이 가입 한 경우에 따라, 두 경우 모두 탐색 컨트롤러를로드하는 것입니다 아마도 무엇을, 확실히 가능하지만, 다른 루트 뷰 컨트롤러를 사용합니다.
if (hasUserSignedUp) {
nav = [[UINavigationController alloc] initWithRootViewController:rootViewController];
}
else {
su = [[SignUpViewController alloc] initWithNibName:nil bundle:nil];
nav = [[UINavigationController alloc] initWithRootViewController:su];
}
[window addSubview:nav.view];
[window makeKeyAndVisible];
app delete는 뷰 계층 구조의 루트를 만들어야하며 거기에서보기에 적절하게 조작 할 수 있습니다. 내가 당신이라면
, 나는 위의 코드를 사용하고, 그들은 로그인 또는 가입 한 후, 일반 루트 뷰 컨트롤러를 밀어하고 수정할 것이다 탐색 스택 스택 :
[self.navigationController pushViewController:rootViewController animated:YES];
double delayInSeconds = 0.5f;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
self.navigationController.viewControllers = [NSArray arrayWithObject:self.navigationController.viewControllers.lastObject];
});
이 ISN ' 이 작업을 수행하는 가장 깨끗한 방법 (dispatch_after
)이지만 어떻게 완료되었는지 확인할 수 있습니다. rootViewController에 hidesBackButton
이 YES
으로 설정되어 있는지 확인하십시오.
나는 투표를해야한다고 생각하지 않는다. 자연히 기술적 인 질문이기는하지만'applicationDidFinishLaunching :'메소드가 담당하는 것의 핵심을 잘라내는 철학적 질문이기도합니다. –
나는 그것을 시도했다. 그렇지 않으면 질문을 게시 할 필요가 없습니다. 당신이 말하기에 유용한 것을 가지고 있지 않다면, 그다음에 모두 말해라. 보통의 예절 마저. – rosst400
나는 이것에 대해 @ edc1591에 동의 할 것이다. "이 컴파일하고 실행할 것" 우리는 무언가의 질문을 생각할 수 없습니다. – mydogisbox