2010-05-20 3 views
2

Je développe une application simple qui montre d'abord un écran de menu, et quand un bouton est pressé, un écran de jeu apparaît. J'ai été capable de développer l'écran de jeu sans aucun problème, mais quand j'ai changé le code pour afficher d'abord le menu, le simulateur a montré un écran vide.L'application de visualisation multiple affiche l'écran vide dans le simulateur

J'ai lu tous les articles sur la connexion des vues avec IB mais je ne peux pas comprendre cela.

Toute aide serait appréciée.

Ceci est mon code:

// Pong_Multiple_ViewAppDelegate.h 
// Pong Multiple View 
// 
// Created by Brett on 10-05-19. 
// Copyright __MyCompanyName__ 2010. All rights reserved. 
// 

#import <UIKit/UIKit.h> 

@class MenuViewController; 

@interface Pong_Multiple_ViewAppDelegate : NSObject <UIApplicationDelegate> { 
    UIWindow *window; 
MenuViewController *navigationController; 
} 

@property (nonatomic, retain) IBOutlet UIWindow *window; 
@property (nonatomic, retain) IBOutlet MenuViewController *navigationController; 

@end 


// 
// Pong_Multiple_ViewAppDelegate.m 
// Pong Multiple View 
// 
// Created by Brett on 10-05-19. 
// Copyright __MyCompanyName__ 2010. All rights reserved. 
// 

#import "Pong_Multiple_ViewAppDelegate.h" 
#import "MenuViewController.h" 

@implementation Pong_Multiple_ViewAppDelegate 

@synthesize window; 
@synthesize navigationController; 


- (void)application:(UIApplication *)application{  

    // Override point for customization after application launch 
[window addSubview:[navigationController view]]; 
    [window makeKeyAndVisible]; 

} 


- (void)dealloc { 
[navigationController release]; 
    [window release]; 
    [super dealloc]; 
} 


@end 

// 
// MenuViewController.h 
// Pong Multiple View 
// 
// Created by Brett on 10-05-19. 
// Copyright 2010 __MyCompanyName__. All rights reserved. 
// 

#import <UIKit/UIKit.h> 
#import "GameViewController.h" 


@interface MenuViewController : UIViewController { 

GameViewController *gameViewController; 
IBOutlet UIButton *gameButton; 

} 

@property(nonatomic, retain) GameViewController *gameViewController; 
@property(nonatomic, retain) UIButton *gameButton; 

-(IBAction)switchPage:(id)sender; 

@end 

// 
// MenuViewController.m 
// Pong Multiple View 
// 
// Created by Brett on 10-05-19. 
// Copyright 2010 __MyCompanyName__. All rights reserved. 
// 

#import "MenuViewController.h" 
#import "GameViewController.h" 


@implementation MenuViewController 

@synthesize gameViewController; 
@synthesize gameButton; 


-(IBAction)switchPage:(id)sender{ 
if (self.gameViewController==nil) { 
    GameViewController *gameView = [[GameViewController alloc]initWithNibName:@"GameView" bundle:[NSBundle mainBundle]]; 
    self.gameViewController= gameView; 
    [gameView release]; 

} 

[self.navigationController pushViewController:self.gameViewController animated:YES]; 

} 

.... 

@end 

Mon code comprend aussi des cours: GameViewController.h, GameViewController.m et fichiers nib: MenuView.xib et GameView.xib

Merci, B

Répondre

0

Dans votre Pong_Multiple_ViewAppDelegate.m, vous essayez d'ajouter une vue à l'aide

[window addSubview:[navigationController view]]; 

Etes-vous sûr que navigationController est instancié n'importe où? Soit dans le code ou en utilisant une plume?

1
- (void)application:(UIApplication *)application{  

Le nom de la méthode doit être -applicationDidFinishLaunching: (non -application:), UIKit peut par ailleurs pas trouver et ignorera le code d'initialisation.

Questions connexes