2011-04-07 4 views
2

각보기에 대해 UINavigationBar에 세 개의보기 및 관련 단추가있는 UINavigationController가 있습니다. Xcode에 익숙하지 않으므로보기간에 전환을 관리하기위한 이벤트 처리 코드를 어디에 둘 것인지 이해하려고합니다.UINavigationController보기에서 이벤트를 관리하여보기를 전환하는 방법은 무엇입니까?

보기 A (루트)

고토보기 B (버튼)

보기 B

뒤로 (버튼) Gotto보기 C (버튼)

보기 C

돌아 가기 (버튼)

나는 어떻게하면 "고토보기 B "가 클릭되었지만 해당 단추가보기 A에서 작성되었으므로보기를 전환하기 위해 UINavigationController에 액세스 할 수 없습니다.

추가 정보에 대한 샘플 또는 링크는 높이 평가됩니다.

UINavigationControllerDelegate : http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationControllerDelegate_Protocol/Reference/Reference.html

UINavigationBarDelegate가 : http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationBarDelegate_Protocol/Reference/Reference.html

당신은 단순히있는 navigationController을 사용하여 새보기를 밀어하려는 경우, 그것이 내가 제대로 질문을 이해한다면

+0

을 http://stackoverflow.com을 w 새로운 관련 질문/상세 코드를 참조하십시오/questions/5598571/how-do-i-structure-the-uinavigation-controller-and-associated-view-controllers-fo를 사용하십시오. – ChrisP

답변

2

, 한 번 봐 가지고 (귀하의 GoToViewB 버튼/동작에서) 이것처럼 간단합니다 :

YourNewViewController *yourNewViewController = [[YourNewViewController alloc] initWithNibName:nil bundle:nil]; 
[self.navigationController pushViewController:yourNewViewController animated:YES]; 
[yourNewViewController release]; 

이제 이전 뷰로 돌아가려면 뒤로 버튼이있는 newViewController에 있어야합니다. 당신은 당신이 프로그래밍 방식으로 컨트롤러를 팝업 할 경우 사용할 수있는 다음 뷰 등으로 이동하기 위해 위와 같은 논리를 사용할 수 있습니다

[self.navigationController popViewControllerAnimated:YES]; 
+0

문제는 self.navigationController가 버튼과 이벤트 핸들러가있는 뷰 컨트롤러의 범위에 있지 않다는 것입니다. 네비게이션 컨트롤러에서 뷰의 조작을 이해합니다. 네비게이션 컨트롤러는 버튼과 핸들러가 포함 된 뷰보다 객체 계층 구조에서 한 레벨 높습니다. – ChrisP

+0

뷰 A, B 및 C와 관련하여 navController는 어디에 있습니까? – Rog

+0

위의 질문에 대한 자세한 내용은 새로운 질문에 대한 링크를 참조하십시오. – ChrisP

관련 문제