2010-02-24 4 views
4

J'ai trouvé ce code pour afficher une vue modale:Présentation d'un contrôleur de vue modalement - iPad

- (void)add:(id)sender { 
    // Create the root view controller for the navigation controller 
    // The new view controller configures a Cancel and Done button for the 
    // navigation bar. 
    RecipeAddViewController *addController = [[RecipeAddViewController alloc] 
         initWithNibName:@"RecipeAddView" bundle:nil]; 
    addController.delegate = self; 

    // Create the navigation controller and present it modally. 
    UINavigationController *navigationController = [[UINavigationController alloc] 
          initWithRootViewController:addController]; 
    [self presentModalViewController:navigationController animated:YES]; 


    // The navigation controller is now owned by the current view controller 
    // and the root view controller is owned by the navigation controller, 
    // so both objects should be released to prevent over-retention. 
    [navigationController release]; 
    [addController release]; 
} 

Ma question est de savoir comment puis-je mettre ce code (je vais le placer dans une méthode de ButtonPress)

Ai-je besoin de définir quelque chose dans mon fichier d'en-tête? Le bit qui me dérange est que Apple fournit ceci et aucun dossier d'en-tête ainsi je ne peux pas dire si n'importe quoi devrait être là?

Le code se réfère à RecipieAddViewController qu'est-ce que je repleace cela avec, "UIViewController"? Que dois-je mettre en tant que délégué dans le fichier d'en-tête?

Ai-je besoin de mettre cela en place ailleurs? comme avec une propriété?

Y at-il autre chose que je dois faire une fois que j'ai copié ce code dans ma méthode buttonPress pour le faire fonctionner?

Merci et désolé pour toutes les questions.

Répondre

4

Ma question est de savoir comment puis-je mettre ce code (je vais le placer dans une méthode de ButtonPress)

Définir la méthode comme un IBAction comme -(IBAction)add:(id)sender et constructeur d'interface lier touch up inside de un bouton événement à la sortie d'action add: de l'objet contrôleur de vue.

Dois-je définir quelque chose dans mon fichier d'en-tête? Le bit qui me dérange est que Apple fournit ceci et aucun dossier d'en-tête ainsi je ne peux pas dire si n'importe quoi devrait être là?

Nope. Tout ce dont vous avez besoin est UIKit.h Vous devez généralement modifier votre en-tête pour ajouter des méthodes, ajouter des variables d'instance ou inclure des classes personnalisées. Vous pouvez avoir besoin d'un #import RecipeAddViewController.h quelque part (dans votre en-tête ou votre fichier d'implémentation) pour utiliser cette classe, cependant. Cela est vrai pour toute classe personnalisée que vous écrivez que vous souhaitez utiliser dans un autre fichier. Le code fait référence à RecipieAddViewController. Que dois-je replacer cela avec "UIViewController"? Remplacez-la par la classe de contrôleur de vue que vous voulez pousser. UIViewController lui-même est rarement utile nu. C'est fait pour sous-classé. Donc, vous créez une nouvelle classe qui hérite de UIViewController, importez son en-tête, créez et instance, et poussez sur le contrôleur de navigation.

+0

Merci beaucoup, votre réponse a été géniale et a été clarifiée :) – Dave

Questions connexes