0

최근에는 탭 막대를 재구성하고 앱 끝에서 여전히 액세스해야하는보기 컨트롤러의 탭 하나를 제거해야했습니다. 기본적으로 탭을 전환하는 응용 프로그램 대리인의 메서드를 트리거하는 NSNotifications를 사용하고 있습니다. [self.myTabBar setSelectedIndex:REC_TAB];앱 대리인의보기 컨트롤러 밀어 내기

매력처럼 작동합니다. 이제 더 이상 탭을 선택할 수 없으므로 app 대리자에서 뷰 컨트롤러를 푸시/팝/프리젠 테이션하는 데 문제가 있음을 발견했습니다.

나는 이것에 새로운 어떤 도움을 주시면 고맙겠습니다.

답변

3

앱 위임자로부터해야 할 이유가 없습니다. 원하는 경우 할 수 있지만 필요는 없습니다. 모든보기 컨트롤러에서 self.view.window.rootViewController를 사용하여 창의 루트보기 컨트롤러에 액세스하여 원하는대로 변경할 수 있습니다. 또 다른 방법은 모든 뷰 컨트롤러에서 presentViewController : animated :를 가진 모달 뷰 컨트롤러를 제시하는 것입니다.

+0

뷰 컨트롤러를 밀어 넣어야하는 메서드 내에서 앱 대리자에있는 다른 메서드를 호출하기 때문에 앱 대리자에서 푸시해야합니다. 나는 내가 생각할 수있는 모든 것을 시도했다 ... '[self.view.window.rootcontroller push/present modal/viewcontroller]'그리고 아무 소용이 없다. 나는 또한 탭 바뿐만 아니라 네비게이션 바를 밀고 자했지만 주사위는 사용하지 않았다. 어떤 아이디어? 아마 더 구체적일까요? 어느 쪽이든, 귀하의 회신에 감사드립니다. – Miles

+0

@Miles, 질문에 대답하기 위해 앱의 구조를 알아야합니다. 이보기 컨트롤러가 탐색 컨트롤러에 포함되어 있습니까? 그렇지 않다면, 당신은 그것을 밀어 낼 수는 없지만 그것을 제시 할 수 있어야합니다. 윈도우의 루트보기 컨트롤러 란 무엇입니까? 귀하의 탭 막대 컨트롤러? – rdelmar

+0

그것은 nav 컨트롤러에 내장되어 있습니다. 그렇습니다. 내 tabBarController가 루트입니다. – Miles

관련 문제