2012-05-28 5 views
2

메모리가 완전히로드 될 때마다 동일한보기에 내 응용 프로그램을로드하므로 응용 프로그램을 닫았다가 다시 열면 동일한보기 (현재 그것은 UITabBar의 탭 중 하나입니다.) iOS 개발에 익숙하지 않기 때문에 코드 작성 방법을 설명하는 것뿐만 아니라 코드를보고 싶습니다. 미리 감사드립니다.매번 동일한보기에서 응용 프로그램로드

답변

3

당신의 탭을 사용하면 항상 응용 프로그램이 실행될 때, 다음 앱의 Info.plist 파일에 다음 키를 추가하여 멀티 태스킹을 허용하지 고려로드 할 것인지, 예를 들어 메인 메뉴 인 경우 :

Application does not run in background - (tick the box) 
or: 
UIApplicationExitsOnSuspend - set to YES (BOOL) 

홈 키를 누를 때 앱이 종료되고 UIApplicationDelegate 방법 applicationwillterminate:이 호출됩니다.

편집 :

좋아, 난 당신이 특정 탭 및/또는 사용자가있는 탭 때마다이 변경 내용을 추적 할 필요가 있다고 생각합니다. 이 값을 NSUserDefaults (plist)에 저장하고 앱이 시작되거나 활성화 될 때마다 확인한 다음 올바른 탭에 있지 않으면 해당 탭으로 전환 할 수 있습니다.

당신이하려는 일이 이것입니까?

편집 2 :

첫 번째 단계, 당신은 당신의 탭 표시 줄에 버튼 누르기 위해 밖으로들을 때마다, 당신은 여기 허용 대답에 새 선택된 인덱스의 정수 값을 잡아 같이해야합니다

Switching to a TabBar tab view programmatically?

그런 다음이 값을 .plist 파일에 저장 (저장/저장)해야합니다. 먼저 새 속성 목록 파일을 프로젝트에 추가 한 다음 Xcode에서 열고 새 행을 추가하고 숫자 형식이 SelectedTab 인 간단한 것으로 호출하고 1337 값을 말하십시오.

응용 프로그램 대리인의 경우, 당신은 당신이 응용 프로그램에 등록해야 새로운 .plist이 앱이 말할 필요, 그래서 application:didFinishLaunchingWithOptions:에서 다음을 수행해야합니다

여기
NSUserDefaults* userPreferences = [NSUserDefaults standardUserDefaults]; 
[userPreferences registerDefaults: [NSDictionary dictionaryWithContentsOfFile: [[NSBundle mainBundle] pathForResource: @"myNewFile" ofType: @"plist"]]]; 

당신이 읽고 SelectedTab에 기록 할 수있는 방법 plist 정수 :

저장된 값을 얻으려면 ...

int test = [[NSUserDefaults standardUserDefaults] integerForKey: @"SelectedTab"]; 

당신은 그냥이 검사를 수행 한 다음를로드 할 탭 표시 줄을 말할 앱 위임에 적절한 장소를 선택해야합니다 ... 당신의 키에

int newTab = 2; 
[[NSUserDefaults standardUserDefaults] setInteger: newTab forKey: @"SelectedTab"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; // absolutely critical! 

을 새 값을 작성하려면 원하는 탭.

희망이 도움이됩니다.

+0

불행히도, 그렇지 않습니다. 내 애플 리케이션이 멀티 태스킹을 지원하기를 바란다. 또한 특정보기를로드하고, 어떻게 든 또는 뭔가를 팝하기를 원한다. 이 탭은 초기보기 컨트롤러가 아닌 기본보기입니다. –

+0

내 게시물을 편집했습니다. – Luke

+0

네, 맞습니다! 하지만 특정 뷰를로드하는 코드를 정확히 작성해야하는 위치와이 코드의 모양을 정확히 알 수는 없습니다. –

관련 문제