0

J'ai un comportement très étrange de ma vue de navigation. Ce que je veux, c'est que de ma vue principale, l'utilisateur peut appuyer sur un bouton, ce qui le conduit à la vue avec les paramètres de l'application.iPhone navigationController n'est pas affiché

Voici le code, responsable de la navigation:

AppDelegate.h

 
    @interface AppDelegate : NSObject { 
    UIWindow *window; 
    ViewController *viewController; // My Main View Controller 
    UINavigationController *navigationController; } 

    @property (nonatomic, retain) IBOutlet UIWindow *window; 
    @property (nonatomic, retain) IBOutlet ViewController *viewController; 
    @property (nonatomic, retain) IBOutlet UINavigationController *navigationController; 

AppDelegate.m

 
@synthesize viewController; 
@synthesize window; 
@synthesize navigationController; 

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

    [window addSubview:viewController.view]; 
    [window addSubview:navigationController.view]; 
    [window makeKeyAndVisible]; 
    return YES; 
} 

viewController.h

 
#import 
#import "optionsViewController.h" // the 'settings' view controller 
 
@class AppDelegate; 

@interface ViewController : UIViewController { 
    AppDelegate *appDelegate; 

viewController.m

 
- (IBAction)showOptionsViewController:(UIBarButtonItem *)sender { 
// optionsController.theSubjectID = self.theSubjectID; 
// [self presentModalViewController:self.optionsController animated:YES]; 


    optionsViewController *optionsController= [[optionsViewController alloc] initWithNibName:@"optionsViewController" bundle:nil]; 
    optionsController.theSubjectID = self.theSubjectID; 
    [self.navigationController pushViewController:optionsController animated:YES]; 
    [optionsController release]; 

} 

Mon optionsController est un UIViewController 'normal'. Comme vous le voyez, j'ai changé la charge de optionsController de modal en navigation. Se pourrait-il que j'ai manqué quelque chose ici?

Merci pour toute allusion à l'avance.

Cheers, René

Répondre

1

Avez-vous connecté il dans Interface Builder, sinon vous devez alloc/init avant de l'ajouter en tant que sous-vue?

+0

Pour clarifier ce que je dis si vous connectez un "UINavigationController" dans Interface Builder vous n'avez pas besoin d'allouer/init. Mais si vous le codez à la main, vous devez l'allouer/init avant de [window addSubview:] – jodm

+0

Je suppose que ce que vous voulez dire, c'est le code – renesteg

+0

Je suppose que ce que vous voulez dire, c'est le code

 \t [[optionsViewController alloc] initWithNibName:@"optionsViewController" bundle:nil];
? Oui, j'alloue/init et même lui donne le nom de la plume. – renesteg