0

presentModalViewController을 사용하여 루트로 초기화 된보기 컨트롤러가있는 내비게이션 컨트롤러를 제공 중입니다. 그러나이 새로운 탐색 스택에 다른보기 컨트롤러를 밀어 넣으면 뒤로 버튼을 두 번 눌러 원래의보기를 모달로 표시해야합니다. 왜 이런 일이 일어날까요? 새로운 뷰 컨트롤러가 원래 네비게이션 컨트롤러에 푸시되고, 네비게이션 컨트롤러가 모달 뷰 컨트롤러에 푸시 될 가능성이 있습니까?내비게이션 컨트롤러 관련 문제

원래 탐색 컨트롤러에 내 코드 : 다음

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:addViewController]; 
[self.navigationController presentModalViewController:navController animated:YES]; 
[addViewController release]; 
[navController release]; 

그리고 모달 뷰 안에 내 코드 :

PriorityViewController *priorityView = [[PriorityViewController alloc] initWithNibName:@"PriorityView" bundle:nil]; 
priorityView.taskInfo = self.taskInfo; 
priorityView.isAdding = YES; 
[self.navigationController pushViewController:priorityView animated:YES]; 
[priorityView release]; 

답변

0

나는 내 문제를 알아 냈어. 내가 볼 컨트롤러를 다루고 있었고 네비게이션 컨트롤러가 정상적으로 작동했다. 그러나 새로운 컨트롤러를 탐색 컨트롤러 스택에 밀어 넣기 위해 테이블보기를 사용하고있었습니다. 그리고 내 테이블보기에서 행 선택을 처리하는 switch 문은 break 문을 누락 했으므로 그 의미가있는 경우 두 행이 그 행에 대한 것이 아니라 두 행이 호출되고있었습니다.

+1

그래서 당신이 그것을 "깰"않았기 때문에 부서졌습니다. :-) – Rayfleck

+0

하하, 그건 대단한 장난입니다. 그리고 이것이이 포럼에서 인정할 수있는 유일한 포럼입니다. :) 그것이 작동하는 한, 나는 웃을 수 있습니다. – gurooj

+1

인생에서 웃을 수 있거나 울 수 있습니다. 모두가 선택해야합니다. – Rayfleck

0

두 탐색 스택이 - 당신이 모달 탐색 컨트롤러을 제시하고 있습니다 .

바로 이런 하나를 사용 :

[self.navigationController presentModalViewController:addViewController animated:YES]; 
[addViewController release]; 
+0

어떤 이유에서인지, 내가 만든 것과 다른보기 컨트롤러를 제공한다고 생각합니다. 나는 푸시하는 SpecificsViewController와 내가 푸시하는 TitleViewController 및 푸시 한 DurationViewController를 동일한 뷰에서 모두 문제없이 사용합니다. 그러나 PriorityViewController는 엉망이됩니다. 그리고 콘솔은 PriorityViewController 대신 SpecificsViewController를 밀고 있다고 생각하는 것 같습니다. – gurooj

관련 문제