2010-01-08 4 views
1

Je me rends compte de ce que je suis encore un débutant avec ce problème que j'ai. J'essaie de présenter une fenêtre modale dans un projet sur lequel je travaille et qui n'apparaît pas. Ma solution était alors de créer un projet de base absolu et de le faire fonctionner d'abord, donc je comprendrais clairement mon problème, mais je n'arrive pas à le faire fonctionner :(presentModalViewController n'apparaît pas dans l'application 'Simple'

J'ajoute un ViewController à la MainWindow à l'applicationDidFinishLaunching. dans ce ViewControllers XIB, j'ai un bouton le ViewController a l'en-tête suivant:.

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

@interface ViewBasedViewController : UIViewController { 
    ModalView *modalView; 
} 

- (IBAction)dooooIt :(id)sender; 

@property (nonatomic, retain, readonly) ModalView *modalView; 

@end 

et méthodes:

#import "ViewBasedViewController.h" 

@implementation ViewBasedViewController 

@synthesize modalView; 

- (void)didReceiveMemoryWarning { 
    [super didReceiveMemoryWarning]; 

} 

- (void)viewDidUnload { 
} 


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

- (ModalView *)modalView { 
    if (modalView == nil) { 
     modalView = [[ModalView alloc] initWithNibName:@"ModalView" bundle:nil]; 
    } 
    return modalView; 
} 

- (IBAction)dooooIt :(id)sender { 

    [self.navigationController presentModalViewController:modalView animated:YES]; 

} 

@end 

Je manque évidemment quelque chose de très simple et je crois qu'il est entre mes oreilles à cette étape :)

Quelqu'un veut-il sortir un pauvre de sa misère?

Merci beaucoup

Chris

Répondre

0

Pour ceux qui pourraient rencontrer ce problème et étaient aussi déconcertés que je l'étais, je suis tombé sur la solution. Il y avait deux problèmes dans la méthode dooooIt:

- (IBAction)dooooIt :(id)sender { 
    [self presentModalViewController:self.modalView animated:YES]; 

} 

j'aurais inclus « moi » en se référant à la propriété modalView (sinon il est nul) et je ne devrais pas avoir mentionné la NavigationController comme je l'avais pas accroché .

Hope this helps l'un de vous (incroyable ce qu'un verre de vin peut faire :)

0

Avez-vous connecté le bouton à IBAction? Contrôle-faites glisser dans Interface Builder de votre bouton à l'icône "Propriétaire du fichier" dans votre fichier XIB, et sélectionnez la méthode "dooooIt" là. Recompilez et votre code devrait s'exécuter comme prévu.

+0

Merci beaucoup, mais oui, il est - je fait le doubleur de rupture au message presentModalViewController pour assurer la ligne est appelé. – Chris

+0

dubber = débogueur! – Chris

Questions connexes