2011-12-22 17 views
5

In XCode 4.2 quando seleziono "nuovo progetto" e seleziono anche "applicazione vista singola" ma ora voglio aggiungere un controller di navigazione. Cosa posso fare in Xcode 4.2 per farlo? (Senza storyboard)iOS: Xcode 4.2 e controller di navigazione

risposta

5

A meno che non si sta aggiungendo l'UINavigationController ad un altro UIViewController che viene utilizzata per un diverso metodo di navigazione, cioè UISplitViewController o UITabBarController, consiglio di aggiungere l'UINavigationController alla vostra finestra dell'applicazione nel AppDelegate quindi aggiungere l'UIViewController che ha la visualizzazione in esso.

Se si aggiunge l'UINavigationController come UIViewController principale, si può facilmente fare questo a livello di codice nel seguente metodo nella AppDelegate:

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

Il codice che vorrei aggiungere è:

UINavigationController *navcon = [[UINavigationController alloc] init]; 
[navcon pushViewController:self.viewController animated:NO]; 
self.window.rootViewController = navcon; 

Ora, nel tuo AppDelegate.m dovrebbe apparire così:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; 
    // Override point for customization after application launch. 
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) 
    { 
     self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPhone" bundle:nil] autorelease]; 
    } 
    else 
    { 
     self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPad" bundle:nil] autorelease]; 
    } 
    UINavigationController *navcon = [[UINavigationController alloc] init]; 
    [navcon pushViewController:self.viewController animated:NO]; 
    self.window.rootViewController = navcon; 
    [self.window makeKeyAndVisible]; 
    return YES; 
} 

È inoltre possibile imparare come utilizzare UINavigationController controllando lo UINavigationController Apple Documentation ei relativi progetti di esempio, che è possibile scaricare dalla stessa pagina di documentazione. I progetti di esempio ti aiuteranno a cogliere i vari modi in cui puoi utilizzare UINavigationController.

+0

grazie !!!!!!!!!!!!!!! – CrazyDev

0

È necessario creare UINavigationController classe del progetto e allegare nella vostra significato delegate classe definire una classe IBOutLet UINavigationController nella classe application delegate e definirlo nella tua classe delegato. Nel telefono Interface Builder, collegare IBOutLet alla classe del delegato.

Problemi correlati