당신은 UINavigationController
당신은 모달 뷰 호출 뷰 컨트롤러에 이런 식으로 뭔가를 넣을 수있는 사용되지 않은 경우 :
-(void)dismissModalViewControllerAnimated:(BOOL)animated{
if (_someFlagForBeingProperlyLoggedIn) [super dismissModalViewControllerAnimated:animated];
}
당신이 제시/부모 뷰 컨트롤러 컬 페이지에 탭
이
dismissModalViewControllerAnimated:
를 전송됩니다 .
내비게이션 컨트롤러를 사용하고 있으므로 옵션이 제한됩니다. 이는 UINavigationController
이 UIViewController
의 하위 클래스이고 그 중 하나가 자체 중앙에 위치하기 때문입니다. 당신이 페이지 컬을 클릭하면 dismissModalViewControllerAnimated :가 호출됩니다.
여전히 서브 클래스를 사용하여 위의 방법을 구현할 수 있지만 서둘러 지저분 할 수 있습니다.
UIAlertView가 "직접 돌아 가기"를 모달 로그인보기로 갖는 것은 매우 쉽습니다. 기본보기가 UIAlertViewDelegate
프로토콜을 준수하는지 확인하십시오. 당신은 표시 할 때 경고가 대리인으로 해당 인스턴스를 설정하고, 그 클래스에 메소드 구현 : 경고보기를 해제 할 때
-(void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex{
// Enclose in if (buttonIndex == #) for selective calling
UINavigationController* nav = (UINavigationController*)[[UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil] instantiateViewControllerWithIdentifier:@"Preferences"];
[nav setModalTransitionStyle:UIModalTransitionStylePartialCurl];
[self.navigationController presentModalViewController:nav animated:YES];
}
이 그 다음은 '로그인'보기를 표시됩니다.
모달보기 위의 경고 표시에는 문제가 없어야합니다. 보기 외부의 탭에서 모달보기가 해제 된 이유는 무엇입니까? – Ariel
클릭이 모달을 닫는 부모보기의 모달 외부에 있습니다. 해고는 UIAlert를 표시하는 사용자 이름 검사를 트리거합니다. 무효의 사용자 명을 입력하지 않으면 모든 것이 효과적이며, 모달이 닫히고 경고가 표시되지만 다시 모달보기로 리디렉션하려고합니다. 이것은 단순해야만하는 것처럼 보이지만 많은 시간을 보냈으며 단지 저를 위해 일하지 않습니다. – Mike