2011-03-11 6 views
5

내 앱의 시작 부분에 뷰 스택에 원하지 않는 로그인 페이지가 있습니다. UINavigatorController을 사용하지 않고 로그인 후 첫 번째 로그인 이후보기를로드 할 수 있습니까?UINavigationController를 사용하지 않고 iOS에서보기를 변경하는 방법이 있습니까?

이 작업을 수행하는 더 좋은 방법이 있습니까? 2 UINavigationControllers을 사용해야합니까? UINavigationController에 대해 RootViewController을 변경하는 방법이 있습니까?

답변

8

예, 윈도우의 루트 컨트롤러를 변경할 수 있습니다. 윈도우의 속성 rootViewController을 새 컨트롤러로 설정하면 완료됩니다. 첫 번째 컨트롤러 (제거하려는 컨트롤러)는 viewWillDisappear:viewDidDisappear: 메시지를 수신하지 않음을 잊지 마십시오. 컨트롤러에 관심이 있다면 컨트롤러를 바꾸기 전에 직접 보내십시오.

+0

죄송 볼 수있다, 나는이 총 newb 질문 알지만, 어떻게 주어진 뷰 컨트롤러의 코드 내에서 내 응용 프로그램의 창 개체에 대한 액세스를 얻을 수 있습니까? –

+0

컨트롤러에서 창을 조작하는 것은 좋은 생각이 아닙니다. (앱 위임과 같은 일부 중앙 개체로 논리를 이동하는 것이 좋습니다.) 실제로 필요하다면 도달 할 때까지 창을 찾을 수 있습니다. ' 하지만가 보이지 않았다,'UIWindow' 인스턴스 또는 (선호하는 방법) 당신은'[[UIApplication sharedApplication] keyWindow]' – hoha

+0

내가 이 'MyViewController.view.window.rootViewController = MyViewController 시도와 키 윈도우를 얻을 수 있습니다 어떤 효과가있다. –

관련 문제