J'ai une application qui utilise NSDocument pour ouvrir les fichiers. J'ai un NSView dans mon NIB, et je voudrais mettre sa taille en fonction de l'image ouverte:readFromData: ofType: erreur: appelée avant le chargement de la plume, donc je ne peux pas utiliser mon IBOutlets D: <
- (BOOL)readFromData:(NSData *)data ofType:(NSString *)typeName error:(NSError **)outError {
NSLog("FOO");
// Load image
// ...
// Change size
[mainView setFrameSize:NSMakeRect(image.size.width, image.size.height)];
[mainView display]; // Redraw
[image release];
return YES;
}
Cependant, je l'ai fait un peu foobar chèque: « FOO » est connecté readFromData:ofType:error:
et « BAR » est connecté méthode initWithFrame:
de la vue, mais la sortie de la console est:
2010-10-30 16:20:45.670 Pwnshop[513:a0f] Foo
2010-10-30 16:20:45.680 Pwnshop[513:a0f] Bar
ce qui signifie que j'envoie le message setFrameSize:
à un non-initié NSView.
Comment puis-je faire NSDocument charger la plume d'abord, et puis faire readFromData:ofType:error:
, ou mieux changer la taille de vue après la pointe est chargée?
Merci.