2013-07-02 4 views
0

내 애플 리케이션에 TabBar의를 설정하려면 내 AppDelegate에 내가 이렇게에 tabbarcontroller를 시작IOS하십시오 secondviewcontroller

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; 
    // Override point for customization after application launch. 
    UIViewController *viewController1 = [[[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil] autorelease]; 
    UIViewController *viewController2 = [[[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil] autorelease]; 
    [viewController2 viewDidLoad]; 
    UIViewController *viewController3 = [[[ThirdViewController alloc] initWithNibName:@"ThirdViewController" bundle:nil] autorelease]; 
    [viewController3 viewDidLoad]; 
    UIViewController *viewController4 = [[[FourthViewController alloc] initWithNibName:@"FourthViewController" bundle:nil] autorelease]; 
    [viewController4 viewDidLoad]; 
    self.tabBarController = [[[UITabBarController alloc] init] autorelease]; 
    self.tabBarController.viewControllers = @[viewController1, viewController2, viewController3, viewController4]; 

    self.viewController = [[[HomeViewController alloc] initWithNibName:@"HomeViewController" bundle:nil] autorelease]; 

    self.window.rootViewController = self.viewController; 
    [self.window makeKeyAndVisible]; 
    return YES; 
} 

당신은 내가 탭 표시 줄하지 즉시 내 응용 프로그램을 시작하려는 것을 볼 수있다,

FirstViewController *first = [[FirstViewController alloc]initWithNibName:@"FirstViewController" bundle:nil]; 
    [self presentViewController:first animated:YES completion:nil]; 
    [first release]; 

하지만 내 firstviewcontroller에 내 TabBar의 표시되지 않는 이유 : 사실 난 내가 함께 viewController1을 열 HomeViewController 내 HomeViewController 내부

내 응용 프로그램을 시작? (내가 homeviewcontroller없이 시작하면 앱이 tabbar로 잘 동작 함을 나타냅니다.)

답변

1

HomeViewController에서 FirstViewController의 새 인스턴스를 만들고 모달로 표시하므로 탭바가 표시되지 않습니다. 만들고 HomeViewController 내부 전체 UITabBarController가를 제시해야합니다

AppDelegate에 : HomeViewController 내부

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; 

    self.viewController = [[[HomeViewController alloc] initWithNibName:@"HomeViewController" bundle:nil] autorelease]; 

    self.window.rootViewController = self.viewController; 
    [self.window makeKeyAndVisible]; 
    return YES; 
} 

:

FirstViewController *viewController1 = [[[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil] autorelease]; 
SecondViewController *viewController2 = [[[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil] autorelease]; 
ThirdViewController *viewController3 = [[[ThirdViewController alloc] initWithNibName:@"ThirdViewController" bundle:nil] autorelease]; 
FourthViewController *viewController4 = [[[FourthViewController alloc] initWithNibName:@"FourthViewController" bundle:nil] autorelease]; 

self.tabBarController = [[[UITabBarController alloc] init] autorelease]; 
self.tabBarController.viewControllers = @[viewController1, viewController2, viewController3, viewController4]; 

[self presentViewController:self.tabBarController animated:YES completion:nil]; 
관련 문제