2011-12-22 3 views
0

Tabbar 기반 응용 프로그램 (Tabbar 컨트롤러가 창 자체에 추가됨)과 해당 루트보기 컨트롤러가있는 모든 탐색 컨트롤러가 창 xib에 설정되어 있습니다. 4 개의 탭 표시 줄 항목이 있습니다.UITabBarController의 shouldSelectViewController 대리자 메서드 사용 방법

항목 1을 클릭하면 해당 항목의 루트보기 컨트롤러가 나에게 표시됩니다. 이 루트보기에는 5 개의 셀이있는 테이블이 있습니다. 행을 클릭하면 새로운보기가 탐색 스택으로 푸시됩니다. 이제,이 푸시 뷰에는 새로운 뷰 컨트롤러를 다시 푸시하는 버튼이 있습니다. 네비게이션 스택에 하나씩 밀어 넣기 시작하는 4 개의 뷰 컨트롤러가 있습니다.

이제 네비게이션 스택의 세 번째보기에 있고 탭 바 항목 1 (이전에 클릭 한 항목)을 클릭했다고 가정 해 보겠습니다. 그러면 첫 번째 루트보기 컨트롤러가 표시되고 전체 탐색 스택이 사라집니다. 난 그냥이 일이, 즉, 나는 세 번째보기 컨트롤러에 남아 또한 모든 탭 표시 줄 항목 (어떤 항목을 해제하고 싶지 않아)을 클릭 할 수 있습니다 싶지 않아요. 탭 막대 컨트롤러 구현 메서드를 통해 달성 할 수 있다는 것을 알고있다 : shouldSelectViewController, should have know how? ??

답변

8

현재 선택된 viewcontroller에 대한 검사를 수행하십시오. 현재 탭이 탭 된 것과 같은 경우 대리자 메서드에서 no를 반환합니다. 이게 무슨 뜻인지 생각해?

+0

안녕하세요, 고맙습니다. 이 두 줄로 내 문제를 해결했습니다. 모자는 당신에게 사람을 .... .... – anshul

+0

probs. 확실히 더 우아한 방법이있을 것입니다. –

관련 문제