2010-07-02 4 views
0

xcode에서 iPhone을 위해 일하는 것이 더 좋아지고 있지만 여기에서는 막 다른 길을 걸었습니다.루트 컨트롤러를 어디에 둘까요?

두 가지보기 (기본보기 및 설정보기)로 앱을 만들려고합니다. 나는 그 둘 사이를 전환하고 싶다. 메인 뷰에서 모든 픽셀을 필요로하기 때문에, 버튼을 누르면 (탭 뷰보다 훨씬 작음) 두 뷰 사이를 단순히 전환하는 switchView 클래스를 만들었습니다.이 클래스는 정상적으로 작동합니다.

이제는 개발이 조금 더 깊어지고 설정보기가 다음 단계의 세부 정보로 이동할 수있는 표보기가되기를 바랍니다. 전에 스위치보기없이이 작업을 수행했습니다.

내 문제는 (설정에서) 테이블보기를 얻을 수 있지만 일단 내보기 컨트롤러를 밀어하려고하면 아무 일도 발생하지 않습니다. 디버깅하는 동안 코드를 통해 작동하는 것을 볼 수 있습니다 (예 : didSelectRowAtIndexPath 작동 중). 그러나 새 뷰가 팝업되지 않습니다. 어느 오류 메시지도 표시되지 않습니다.

내 MainWindow.xib에 switchView가 추가 된 다음 [window addSubview : switchViewController.view]; 내 AppDelegate에서 기본보기를로드합니다.

어디에서 테이블 뷰 탐색을위한 루트 컨트롤러를 배치해야합니까? 그게 내가 가진 문제인 것 같아? 아무것도 결과 코드 아래

... 바른 길에 저를 이끌 수있는 제안을
ViewsAppDelegate *delegate =[[UIApplication sharedApplication] delegate]; 

    [delegate.settingsNavController pushViewController:settingsDetailViewController animated:YES]; 

해피. 이걸 해결하는 데 너무 많은 시간을 썼다.

답변

0

당신이 계신 오해하지만, 내가 시도 할 수 있습니다 ... 당신이 당신의 MainViewController를 입수해야하고 AppDelegate에 모두 당신을 위해 스핀 업 및 생성 된 프로젝트를 생성

. 제공된 스 니펫에서 MainViewController 내에서 새로운 (그리고 아마도 두 번째) 앱 대리인을 인스턴스화하는 것처럼 보입니다.

이 작업을 수행하는 대신 NavigationController를 한 수준 위로 이동하여 SDK에서 제공하는 AppDelegate로 옮기는 것이 좋습니다. 그런 다음 MainViewController에서 기존 AppDelegate를 IBOutlet으로 추가하고 모두 IB로 묶습니다. 일단 네비게이션 컨트롤러를 사용하면 훨씬 더 부드럽게 진행됩니다. 예를 들어

, 내 MainWindow.xib에 여러 개체가, 나는 ... 나는 당신이 아마 염려 생각하는 두 강조했습니다

http://www.freeimagehosting.net/uploads/f50268da03.png

* 링크에 대한 죄송합니다 - I 아직 이미지를 게시 할 수 없습니다.

그런 다음 내 AppDelegate에에서 나는 ...과 같이 내 applicationDidFinishLaunchingWithOptions을 사용자 정의

가장 높은 수준 (내가 속해 생각하는 곳)에서 최대 navController을 유지하고 밀어 전반에 걸쳐 의견을 팝업 할 수 있습니다
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

    navController.viewControllers = [NSArray arrayWithObject:mainMenuController]; 

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

    return YES; 
} 

스택 전체의 역사를 유지하면서 전체 앱을

도움이 될만한 희망 - 나는 네가 무엇을했는지 완전히 오해했을 수도있다.

행운을 빌어 요! 밥

+0

고마워 바비 내가 뭘 하려는지 (심지어 내가 틀린 방법으로 그것을 시작했을 수도 있음) 사과 날씨 애플 리케이션에서와 같은 것입니다. 당신은 메인 화면을 가지고 있고 작은 화면을 클릭하면 설정 화면으로 들어갑니다. 이 화면에서 드릴 다운 내비게이션이있는 tableView를 갖고 싶습니다. 그래서 저는 일반 Windows 기반 앱으로 시작한 다음 두 가지보기를 전환했습니다. 잘 했어. 그러나 내가 가지고있는 뷰 중 하나에 tableView 드릴 다운을 추가하고 싶을 때 (그리고 여전히) 붙어 있습니다. 어쩌면 유틸리티 기반 템플릿을 사용해보아야할까요? ??? – Structurer

+0

View Based 템플릿을 확인한 다음 탐색 컨트롤러 사용 방법에 대한 자습서를 검토하는 것이 좋습니다. 웹 (http://www.youtube.com/watch?v=9ozwoETFei0)에 몇 가지 무료로 제공되는 것들이 있습니다. 돈을 많이 쓰지 않는다면 ($ 5) Pragmatic Programmers의 사람들은 정말로 멋진 iPhone SDK 튜토리얼 시리즈 (http://pragprog.com/screencasts/v-bdiphone/writing-your-first-iphone-application). 두 번째 에피소드는 이것에 완벽 할 것입니다. 지식이 있으면 꽤 빨리 수정할 수 있습니다. 행운을 빈다. –

+0

감사합니다. 지난 주 탈수증을 받았거나해야 할 것 같습니다. 아무것도 실제로 작동하지만 지금은 정렬되었습니다. 답장과 지원에 감사드립니다! – Structurer

관련 문제