2012-05-04 4 views
-1

Добрый день. Я пытаюсь добавить новую вкладку с контроллером навигации в свое приложение. Я создаю новые вкладки приложения (Xcode 4.2) и в AppDelegate написать этогоДобавить навигационный контроллер в приложение с вкладками

- (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]; 
    NavController *navController = [[[NavController alloc] initWithNibName:@"NavController" bundle:nil] autorelease]; //my controller 
    self.tabBarController = [[[UITabBarController alloc] init] autorelease]; 
    self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, navController, nil]; 
    self.window.rootViewController = self.tabBarController; 
    [self.window makeKeyAndVisible]; 
    return YES; 
} 

NavController.h файл

@interface NavController : UINavigationController 

@end 

Здесь структура проекта Structure of progect

И когда я бег проекта показать мне пустую вкладку result Но в файле xib я добавляю lable и кнопки What I want in result Может быть, я что-то забыл?

ответ

0

Initialise навигационного контроллера с некоторыми UIViewController, который:

RootViewController *rootViewController = [[[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil] autorelease]; 
    NavController *navController = [[[NavController alloc] initWithRootViewController: rootViewController] autorelease]; 

Это может помочь.

0

я делюсь вам мое приложение кода об этой функции, надеюсь, что это может решить вашу проблему легко

Добавьте этот код в AppDelegate.m

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

    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; 
    self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease]; 

    UINavigationController *localNavigationController; 

    tabBarController = [[UITabBarController alloc] init]; 

    NSMutableArray *localControllersArray = [[NSMutableArray alloc] initWithCapacity:3]; 

    viewController = [[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease]; 
    localNavigationController = [[UINavigationController alloc] initWithRootViewController:viewController]; 
    [localControllersArray addObject:localNavigationController]; 

    AlaramClock *aAlaramClock = [[[AlaramClock alloc] initWithNibName:@"AlaramClock" bundle:nil] autorelease]; 
    localNavigationController = [[UINavigationController alloc] initWithRootViewController:aAlaramClock]; 
    [localControllersArray addObject:localNavigationController]; 


    CurrentTime *aCurrentTime = [[[CurrentTime alloc] initWithNibName:@"CurrentTime" bundle:nil] autorelease]; 
    localNavigationController = [[UINavigationController alloc] initWithRootViewController:aCurrentTime]; 
    [localControllersArray addObject:localNavigationController]; 

    Settings *aSettings = [[[Settings alloc] initWithNibName:@"Settings" bundle:nil] autorelease]; 
    localNavigationController = [[UINavigationController alloc] initWithRootViewController:aSettings]; 
    [localControllersArray addObject:localNavigationController]; 



    tabBarController.viewControllers = localControllersArray; 

    [localControllersArray release]; 


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

    return YES; 
} 

Тогда U получит этот взгляд

enter image description here

после этого в каждом представленииController.m

ADD это

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) 
    { 
     // Custom initialization 
     [email protected]"Calculate Time"; 
     self.tabBarItem.title = @"Calculate Time"; 
     self.tabBarItem.image=[UIImage imageNamed:@"time_calculate.png"]; 
    } 

    return self; 

} 
+0

пытался добавить это делегат UINavigationController * localNavigationController; NavController * navController = [[[NavController alloc] initWithNibName: @ "NavController" bundle: nil] autorelease]; localNavigationController = [[UINavigationController alloc] initWithRootViewController: navController]; Но он разбился в initWithRootControllerMethod – nabiullinas

Смежные вопросы