2013-07-18 14 views
3

저는 창문의 rootViewController을 전환하는 여러 게시물을 읽었으며 때로는 응용 프로그램의 라이프 사이클 전반에 걸쳐 동일한 rootViewController을 유지하는 것이 전환하는 것보다 낫고 다른 게시물은 변경 사항과 관련이 있다고합니다. 앱의 어느 시점에서 rootViewController 나는 이것에 대해 혼란스럽고, 애플의 문서에서이 점에 관해서는 어떤 권고도 찾을 수 없었다. 앱에서 다른 콘텐츠 뷰 컨트롤러를 가질 가능성이있는 경우UIWindow의 rootViewController 고려 사항

은 무엇 가장 좋은 방법을해야 하는가? 고정 rootViewController

1) 접근 : 예를 들어, 당신이 (UINavigationController) 로그인 또는 가입에 대한 환영보기를 표시 먼저 원하는 탭 응용 프로그램 (UITabBarController)가 가정 해 봅시다. 나는 UITabBarControllerrootViewController으로 설정해야한다고 생각합니다. 앱의 핵심이 탭으로 표시되지만 사용자 자격 증명이 필요하면 UITabBarController 내에 UINavigationController을 설정하고 탭 표시 줄을 감추지 않고 환영보기를 누르고 로그인으로 이동하십시오. /보기 컨트롤러를 등록하십시오. rootViewController 스위칭

2) 접근. 먼저 사용자 자격 증명이 필요한 경우 UINavigationControllerrootViewController으로 설정하여 시작보기를 표시하고 로그인/가입으로 이동 한 다음 사용자 자격 증명이 성공적으로 제공되거나 계정이 만들어지면 rootViewControllerUITabBarController으로 전환하여 핵심 탭을 표시합니다. 앱. 가장 일반적인 방법은 필요에 따라 rootViewController 전환되는 경우

, 당신은 고려하려는 메모리 관리 고려 사항은 무엇입니까? 나는 (UITabBarControllerUINavigationController) AppDelegate에 두 strong 속성이 필요할까요? rootViewController을 전환 할 때보기 컨트롤러 간의 전환은 어떨까요 : 부드럽게 처리합니까, 아니면 애니메이션 처리해야합니까?

미리 감사드립니다.

+2

기본적으로 사람들의 의견을 묻는 질문이므로 종료 될 수 있습니다. 옵션 1을 선택할 수 있습니다. 사용자 로그인이 필요할 때마다 루트 컨트롤러를 통해 모달보기 컨트롤러로 로그인 화면을 표시하십시오. 성공적으로 로그인하면이를 닫습니다. 루트 컨트롤러를 전환 할 필요가 없습니다. – rmaddy

+0

@rmaddy 감사합니다. 로그인보기 만있는 경우 루트 상단에 로그인보기를 표시하는 것이 가장 좋은 방법이라고 생각합니다. 그러나이 시나리오에서는 로그인 할 수있는 유일한보기가 없으며 두 개의 버튼과 한 개의 환영보기가 있습니다. 환영보기 -> 로그인/가입보기 탐색 계층 구조이므로 모달로 그러한 계층 구조를 제시하는 것이 가장 좋은 방법일까요? – AppsDev

+0

@rmaddy AppsDev의 덧글에 대해 더 이상 생각해 보지 않으셨습니까? 건배 –

답변

0

rootViewController를 전환하는 방식이 적합합니다. 사용자 자격 증명이 필요한 경우 첫째, 탭 핵심을 보여/로그인 가입하고, 사용자 자격 증명을 성공적으로 제공되거나 성공적으로 생성 계정되면, UITabBarController에 rootViewController를 전환 환영보기를 표시하고 탐색 할 rootViewController로 UINavigationController 설정 응용 프로그램

당신이 tabbarcontroller 내부 사용자 자격 증명을 저장하려는 경우

. 메인 번들의 NSUserDefaults 또는 plist에 저장하거나 문서 디렉토리에 생성하십시오.