35 votes

Affichage d'une fenêtre cacao sous forme de feuille dans Xcode 4 (OSX 10.7.2) avec ARC

Je vais essayer d'obtenir une Fenêtre de Connexion pour afficher une feuille de mon MainWindow, mais à chaque fois que j'essaie de mettre en œuvre les AppKit méthodes d'une erreur toujours pop pour diverses indiscernables raisons.

Aucun des guides en ligne il y a travail, quand j'applique le code de leurs / de classes adaptées à mon propre projet, ils ne fonctionnent jamais.

La plupart des guides sont fortement dépassées, y compris la Documentation d'Apple. Et aucun d'entre eux semblent être compatible avec Automatique de Comptage de Référence. Ou Xcode 4 interfaces.

Quelqu'un pour être en mesure de détailler pour moi dans un guide, de la façon la plus simple d'afficher une feuille à la suite d'une touche sur le MainWindow.

N'hésitez pas à demander plus d'informations si vous en avez besoin.

94voto

Anne Points 16250

Tutoriel pour Xcode 4

Créer un nouveau projet et ajoutez ce qui suit à l' AppDelegate.h et AppDelegate.m.

AppDelegate.h

#import <Cocoa/Cocoa.h>

@interface AppDelegate : NSObject <NSApplicationDelegate> {

    IBOutlet NSPanel *theSheet;
}

@property (assign) IBOutlet NSWindow *window;

@end

AppDelegate.m

#import "AppDelegate.h"

@implementation AppDelegate

@synthesize window = _window;

- (IBAction) showTheSheet:(id)sender {

    [NSApp beginSheet:theSheet
       modalForWindow:(NSWindow *)_window
        modalDelegate:self
       didEndSelector:nil
          contextInfo:nil];

}

-(IBAction)endTheSheet:(id)sender {

    [NSApp endSheet:theSheet];
    [theSheet orderOut:sender];

}

@end

Ouvrez l' MainMenu.xib.
Utiliser le NSWindow.
Rendre visible en utilisant le bouton suivant:

Xcode

Créer un nouveau NSPanel.
Ajouter approprié NSButtons.

Xcode

Connectez Close de la App Delegate.

Xcode

Et sélectionnez endTheSheet.

Xcode

Connectez Open de la App Delegate.

Xcode

Et sélectionnez showTheSheet.

Xcode

Connectez l' App Delegate pour la nouvelle - NSPanel.

Xcode

Et sélectionnez theSheet.

Xcode

Sélectionnez l' NSPanel et désactiver Visible At Launch. (Impératif!)

Xcode

Maintenant cliquez sur exécuter et apprécier le résultat:

Xcode

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X