3

보기 탐색에 문제가 있습니다. 또 다른 VC, RegisterVC 및 ForgetPassVC을 따라 호출 두 개의 버튼은 비밀번호를 등록하고 잊어 버리라고 있습니다 로그인 VC에UINavigation : 표시된 모달보기에서보기를 밀어 넣는 방법

- (IBAction) btnAction 
{   Login * login = [[Login alloc] init]; 

     [self.navigationController pushViewController:login animated:YES]; 
} 

: 나는 VC가

는, 내가 좋아하는 또 다른 VC에서 전화하고 로그인을 말한다 .

- (IBAction) btnRegisterNow : (id) sender 
{ 

    aRegister = [[Register alloc] initWithNibName:@"Register" bundle:nil]; 
    [self.navigationController pushViewController:aRegister animated:YES]; 
} 

- (IBAction) btnForgotPassword : (id) sender 
{ 
    forgotPassword = [[ForgotPasswd alloc] initWithNibName:@"ForgotPasswd" bundle:nil]; 
    [self.navigationController pushViewController:forgotPassword animated:YES]; 
} 

내 문제 : 나는 [self.navigationController pushViewController:login animated:YES];로 로그인을 호출 할 때

모든 일이 잘 작동합니다.

그러나 일부 VC에서는 로그인 페이지를 [self presentModalViewController:login animated:YES];으로 표시해야합니다. 이때 등록 및 암호 잊기 버튼이 작동하지 않습니다. 버튼을 클릭해도 아무런 변화가 없습니다.

무엇이 문제입니까? 나는 bocz 내가 pushViewConterller 아닌 모달보기로 로그인을 추가했다고 생각하십니까 ??? 그렇다면이 작업을 어떻게 수행 할 수 있습니까?

희망 질문은 분명합니다.

감사합니다 ...

+0

두 개의 버튼이 표시되며 탐색 표시 줄이 있습니까? – PeyloW

+0

표시 줄이 보이지 않습니다 – Maulik

+0

그러면 Jilouc이 답을 얻었습니다. – PeyloW

답변

5

컨트롤러를 모달로 제시하면 탐색 컨트롤러에없는 것입니다. 당신이 을 수행 할 때 당신은

UINavigationViewController *nvc = [[UINavigationViewController alloc] initWithRootViewController:login]; 
[login release]; 
[self presentModalViewController:nvc animated:YES]; 
[nvc release]; 
+0

그래서 위의 코드를 작성해야합니까 [self presentModalViewController : login animated : YES]; ?? – Maulik

+0

@Maulik 예, nav 컨트롤러에 '로그인'컨트롤러를 래핑합니다. – Jilouc

+0

예.하지만 ... 설계가 방해받습니다. – Maulik

4

난 당신이 또한 모달 컨트롤러를 패스워드 분실 & 등록 벤처를 추진한다고 생각합니다. 너 그거 해봤 니?

0

를 작성해야 [자기 presentModalViewController는 : 애니메이션 로그인 : YES]; 이 경우보기 컨트롤러가 전달되고 [self.navigationController pushViewController : forgotPassword animated : YES]를 구현하려고 할 때; 네가 네비게이션 컨트롤러를 가지고 있지 않기 때문에 그것은 일을하지 않았다.

로그인을 모달보기로 제시해야합니까?

- (IBAction) btnAction 
{ 
     Login *login=[[[Login alloc]initWithNibName:@"Login" bundle:nil]autorelease]; 
     UINavigationController *navController = [[[UINavigationController alloc] initWithRootViewController:login]autorelease]; 
     [[self navigationController] presentModalViewController:navController animated:YES]; 

    } 

은 이제 잊고 등록 BTN 조치가 호출되고 그 해당 페이지로 이동합니다 - : 그런 다음이 코드를 사용합니다.

0

로그인 컨트롤러를 루트 컨트롤러로 사용하는 네비게이션 컨트롤러. 아래 코드를 확인하십시오.

UINavigationController * navController = [UINavigationController alloc] initWithRootController : loginController]; [self presentModalViewController : navController]; [navController release];

관련 문제