Я что-то здесь не так делаю?
Если я вызываю свой класс из метода awakeFromNib, я могу проследить через NSLog, что класс вызывается до метода initWithFrame, но метод drawRect не вызывается. Если я создаю экземпляр через IBAction (скажем, кнопку), он работает нормально. Вот код:
-(void) awakeFromNib {
[winMain center];
SplashScreen* newSplashScreen = [[SplashScreen alloc] initWithFrame:NSMakeRect(0.0, 0.0, 737.0, 303.0)];
[[[NSApp mainWindow] contentView] addSubview:newSplashScreen];
}
и мой файл SplashScreen.m:
#import "SplashScreen.h"
@implementation SplashScreen
- (id)initWithFrame:(NSRect)frame {
self = [super initWithFrame:frame];
if (self) {
// Initialization code here.
}
return self;
}
- (void)drawRect:(NSRect)rect {
NSImage *imageFromBundle = [NSImage imageNamed:@"sheet1.png"];
[self setNeedsDisplay:YES];
[imageFromBundle drawInRect:[self bounds] fromRect:NSMakeRect(0.0, 0.0, 737.0, 303.0) operation: NSCompositeCopy fraction:1.0];
}
@end