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é
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
Je suppose que ce que vous voulez dire, c'est le code – renesteg
Je suppose que ce que vous voulez dire, c'est le code
? Oui, j'alloue/init et même lui donne le nom de la plume. – renesteg