У меня есть приложение, которое использует NSDocument для открытия файлов. У меня есть NSView в моем NIB, и я хотел бы установить его размер в соответствии с открытым изображением:
- (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;
}
Однако я сделал небольшую проверку foobar: «FOO» зарегистрировано в readFromData:ofType:error:
и «BAR» зарегистрировано в методе представления initWithFrame:
, но вывод в консоли:
2010-10-30 16:20:45.670 Pwnshop[513:a0f] Foo
2010-10-30 16:20:45.680 Pwnshop[513:a0f] Bar
Это означает, что я отправляю сообщение setFrameSize:
непосвященному NSView.
Как я могу заставить NSDocument сначала загрузить перо, и , затем сделать readFromData:ofType:error:
, или лучше изменить размер вида после , когда кончик загружен?
Спасибо.