1

MainPage라는 하나의 뷰 컨트롤러가 있다고 가정합니다 (이것은 rootViewController 임). 해당보기 컨트롤러에서 하나의 하위보기를 추가하고 있습니다.서브 뷰에서 다른 뷰 컨트롤러로 이동하는 방법은 무엇입니까?

은 아래를 참조하십시오 :

그 서브 뷰에서
FirstPage1=[[FirstPage alloc] initWithNibName:@"FirstPage" bundle:[NSBundle mainBundle]]; 
[self.view addSubview:FirstPage1.view]; 

, 나는 다음 페이지로 이동해야합니다.

그래서 아래 코드와 같이 presentViewController를 사용했지만 잘 작동하지 않았습니다. 그것은 처음에 잘 작동

[self.view.window.rootViewController presentViewController:AnotherViewController animated:YES completion:nil]; 

하지만 난 다음에 시간을 요구하는 경우, 나는 오류가 아래에있어 : ​​

코드 아래를 참조하십시오.

오류 : 보기가 창 계층 구조에 없습니다!

+0

왜 'FirstPage1'보기를 자신에게 추가 하시겠습니까? 나는 이미 자신의 견해를 가지고 있습니다. 다시 한번 자체 견해를 추가하는 것은 말이되지 않습니다 ... – nburk

답변

0

UINavigationController에는 별도의보기 컨트롤러가 함께 연결되어있는 것이 좋습니다. UINavigationController을 만들고 예제를 self.view에 추가하면됩니다. 그런 다음 필요에 따라 각보기에 [navController pushViewController: animated:]을 입력하십시오. 또는 마지막 뷰 컨트롤러를 터뜨린 다음 이전 페이지에 액세스하지 못하게하려면 새 뷰 컨트롤러를 누릅니다. 프로젝트가 어떻게 설정되어있는 것인가하는 것이 가장 쉬운 방법입니다.

+0

답장을 보내 주셔서 감사합니다! – SathishKumarEro

+0

내 프로젝트에서 ViewController (MainPage)의 하위 뷰로 ViewController (FirstPage)를 추가하고 있습니다. 하위 뷰에서 다른 뷰로 이동하는 방법을 알아야합니다. 나는 이미 다른 viewcontroller를 탐색하기 위해 presentViewController를 추가하려고 시도했다. 그러나 그것의 첫 번째주기에 대한 작품. 다음 번에 내가 그랬다면 다음과 같은 오류가 발생했습니다. "누구의 시각이 창 계층 구조에 있지 않습니다!" – SathishKumarEro

+0

뷰를 다른 뷰에 추가하는 경우 뷰를 수동으로 처리해야합니다. 대신 MainPage를 UINavigationController로 만드십시오! 그렇다면 내가 직접 말한 것처럼 푸시/팝 할 수 있습니다. –

관련 문제