2011-05-12 4 views
0

Xcode 4를 사용하여 첫 번째 iPhone 애플리케이션을 만들고 처음에는 탐색 기반 애플리케이션 템플릿을 사용하여 프로젝트를 만들었습니다. 이후로 UI가 Tab Bar를 Navigation Bar와 함께 맨 아래쪽에 배치하기를 원하지만, 그렇게하기 위해 앱을 변경하는 데 어려움을 겪고 있습니다.탭 바 컨트롤러를 사용하기 위해 앱 변경

내 응용 프로그램에 새 창을 추가하고 TabWindow.xib라고했습니다. Interface Builder에서 이것을 열고 Tab Bar Controller를 추가했습니다. 다음 I는 AppDelegate.h에 컨트롤러 출구 속성을 추가 -이 함께 AppDelegate.m 합성 하였다

@property (nonatomic, retain) IBOutlet UITabBarController *tabController; 

다음 - 그때 applicationDidFinishLaunchingWithOptions의 코드를 변경

@synthesize tabController=_tabController; 

다음에 (나의 새로운 하나 기존의 뷰 컨트롤러를 전환합니다) : -

//self.window.rootViewController = self.navigationController; 
self.window.rootViewController = self.tabController; 

내가 대신 전자로 탭 바보기를 보는 응용 프로그램을 실행 xpected, 빈 창이 보입니다. 나는 (최소한) 위에서 만든 tabController 콘센트에 연결할 필요가 있다고 생각하지만이 작업을 수행하는 방법을 알 수는 없습니다. 그리고 이것을 작동시키기 위해 내가해야 할 일이 있습니까?

답변

1

인터페이스 빌더의 응용 프로그램 대리인에 대한 연결을 추가해야합니다. 이렇게하려면 개체 라이브러리에서 "개체"를 추가하고 해당 클래스를 응용 프로그램 대리인으로 변경하십시오. 그런 다음 연결 속성에 연결을 추가하십시오.

또한 응용 프로그램 정보 plist 파일에서 "Main nib file base name"을 새 xib 이름으로 설정해야 할 수 있습니다.

+0

필자는 제안한대로 tabController와 창 아웃렛을 연결하고 plist 파일의 기본 nib 파일 기본 이름을 변경했지만 여전히 빈 창이 표시됩니다. 한 가지 주목 한 것은 파일 소유자가 원래 MainWindow.xib의 App Delegate에 연결되어 있지만 새 TabWindow.xib에는 연결되어 있지 않지만 설정 방법을 알 수는 없다는 것입니다. Ctrl + 드래그하여 File 's Owner 객체에서 App Delegate 객체로 드래그하면 콘센트에 연결할 수있는 기회가 없습니다. – Cleggy

+0

개체 라이브러리에서 "개체"를 추가 한 후 "개체"에 클래스를 설정 했습니까? ID 관리자에서이 작업을 수행해야합니다. 사용자 정의 클래스 필드가 앱 위임 클래스로 설정되어야합니다. 일단 완료되면 연결 관리자를 사용하여 대리인 콘센트를 응용 프로그램 대리인 클래스 Object에 드래그 할 수 있어야합니다. – ashutosh

+0

예. 내 이전의 코멘트에서 그것을 언급하지 않아서 미안해. – Cleggy

관련 문제