2010-08-08 4 views
1

특정보기에서 종료 된 경우 사용자가 왼쪽으로 정확히이보기를 복원 할 수있는 앱이 있습니다.루트 뷰 컨트롤러가 UITabBarController 일 때 UIViewController 스택을 다시 만드는 방법은 무엇입니까?

내 아래 applicationDidFinishLaunching 순간에 매우 간단합니다 :

- (void)applicationDidFinishLaunching:(UIApplication *)application { 

    // Override point for customization after app launch  
    [window addSubview:tabBarController.view]; 
[window makeKeyAndVisible]; 

} 

내가 탭 표시 줄 컨트롤러에 적재해야 3 뷰 컨트롤러의 순서를 복원하기 위해 무엇을 할 수 있는가?

일반적으로 앱 이러한 상호 작용은 내가 복원 할 뷰에 갈 않는 사용자 :

  1. 앱이 튀어;
  2. 첫 번째 탭은 테이블보기이므로 복원해야하는 첫 번째보기 컨트롤러이며 사용자가 행을 선택합니다.
  3. 표시되는보기는 다른보기 (다시 복원해야하는 두 번째보기 컨트롤러)이며 사용자는이보기의 위쪽 막대에서 +를 탭합니다.
  4. 마지막 뷰 컨트롤러가 모달 방식으로 표시되므로 복원해야하는 세 번째보기 컨트롤러입니다.

나는이 post의 대답에서 알 수 있지만, 내 탭 표시 줄 컨트롤러가 엉망 (탭 표시 줄 컨트롤러를 사용하지 않는 게시물에 밝혀 내가 아이폰 개발 초보자, 그래서 내 시도 것을 시도 매우 성공적이지는 않았다).

미리 감사드립니다.

답변

1

일반적인 UITabBarController 사용 패턴을 설명하는 것처럼 들리지는 않습니다. 여기에는 항상 사용할 수있는 일련의 탭이 있으며 응용 프로그램에 다양한 사용 모드가 있습니다. 일반적으로 탭 표시 줄 컨트롤러의 상태를 다시 만드는 것은 탭을 평소와 같이 인스턴스화하고 현재 탭을 선택하는 것입니다.

증가하는 수준의 세부 정보를 제공하는 일련의 화면은 UINavigationController의 일반적인 사용 패턴입니다.

복원 방법에 대해 걱정하기 전에 정상적인 디자인인지 여부를 조사하고 싶을 수 있습니다.

그렇다면 applicationDidFinishLaunching에서 전체 구조를 다시 만들거나 각 클래스에 뷰 컨트롤러 및 다운 스트림 뷰를 다시 만들 수있는 로직을 제공 할 수 있습니다. 나는 후자의 접근 방식을 취할 것이다.

+0

감사합니다. Seamus. 언급 한 마지막 접근 방식은 관심사의 분리 때문에 정말 좋습니다. 나는 그것을 시도 할 것이다. 내 응용 프로그램에서 사용자가 첫 번째 행 (액티비티와 실행 사이의 관계)을 선택할 때 다른 테이블보기로 이동하는 테이블 뷰가있는 첫 번째 탭 표시 줄. 다른 탭 표시 줄도 다른 기능을 가지고 있습니다. 의견을 보내 주셔서 감사합니다. – reinaldoluckman

+0

예! 매력처럼 일했습니다. 각 클래스의 viewDidLoad에서 plist 파일의 데이터를 검색하고 [controller1 presentModalViewController : controler2 animated : NO]를 사용하여 스택을 다시 작성합니다. 고마워. – reinaldoluckman

관련 문제