2011-08-15 5 views
0

방금 ​​Window 기반 응용 프로그램 프로젝트로 시작하는 탐색 컨트롤러를 만드는 방법에 대한 자습서를 작성했습니다.내비게이션 컨트롤러를 UIViewController에 추가하십시오.

이제 탭 모음 컨트롤러가있는 루트보기로 튜토리얼에서 사용한 방법을 적용하는 방법을 알아 내려고합니다.

나는 윈도우 기반 앱 프로젝트를 사용하여 다시 탭 바 컨트롤러를 설정하고 각각의 UIViewController 클래스/nib에 연결된 네 개의 탭 바를 추가했습니다.

UIViewController 클래스에 대한 내 창 기반 자습서에서했던 것처럼 nav 컨트롤러를 추가 할 수 있습니까? 여기

제가 단독으로 탐색 컨트롤러를 생성하는 방법이다 :

#import <UIKit/UIKit.h> 

@interface NavAppDelegate : NSObject <UIApplicationDelegate> { 
    UIWindow *window; 
    UINavigationController *navController; 
} 

@property (nonatomic, retain) IBOutlet UIWindow *window; 
@property (nonatomic, retain) IBOutlet UINavigationController *navController; 

@end 




#import "NavAppDelegate.h" 

@implementation NavAppDelegate 

@synthesize window; 
@synthesize navController; 

#pragma mark - 
#pragma mark Application lifecycle 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

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

    return YES; 
} 



etc... 
+0

인터페이스 빌더로 이동하여 탭 막대 컨트롤러를보십시오. 거기에 네 개의 탭이 있으며 각 탭마다보기 컨트롤러가있을 것입니다. 보기 컨트롤러가있는 대신 탭 막대 위에 탐색 컨트롤러를 드래그하고 이전보기 컨트롤러를 제거하십시오. 이제 네비게이션 컨트롤러 안에 뷰 컨트롤러가 있어야합니다. – simonbs

답변

10

모두 UINavigationControllerUITabBarController는 여러 UIViewControllers 관리, 즉 컨트롤러를의 컨트롤러이다. UIViewControllers이 차례로보기를 관리합니다. 따라서 질문 제목에 수정이 필요합니다.

표준 설정은 다음과 같습니다. UITabBarController은 루트 컨트롤러입니다. 각 탭은 을 제어합니다.UIViewController또는a UINavigationController이 차례로 UIViewControllers을 관리합니다.

따라서 탭 모음에 UIViewControllers 또는 UINavigationControllers을 추가하십시오.

따라서 질문에 대한 직접적인 대답은 아니요입니다. 이 아니며 UIViewControllerUINavigationController을 추가하는 대신 다른 방법으로 사용하십시오.

+1

괜찮 았으므로 UINavigationController로 UIViewController 클래스를 변경했습니다. 감사! – Adam

+0

하지만 기다려 ... 내 펜에서 내 탐색 컨트롤러에 내 수업에서 콘센트를 설정해야합니까? – Adam

+0

IB에서 nav 컨트롤러 객체를 직접 추가하고 해당 뷰 컨트롤러에 링크 할 수 있습니다. 정확하게 'IBOutlet'은 아닙니다. – Mundi

관련 문제