я пишу окно и два вида, набор цвет фона окна в синий, и нарисовать изображение в view1, и заполнить view2 цветом с альфа-, как это:Использовать цвет с альфа-заполнением NSView?
// AppDelegate
[self.window setLevel:(NSStatusWindowLevel + 2)];
TestView *view1 = [[TestView alloc] initWithFrame:NSMakeRect(0, 0, self.window.frame.size.width, self.window.frame.size.height)];
TestView2 *view2 = [[TestView2 alloc] initWithFrame:NSMakeRect(0, 0, self.window.frame.size.width, self.window.frame.size.height)];
[self.window setContentView:view1];
[self.window.contentView addSubview:view2];
// View1
- (void)drawRect:(NSRect)dirtyRect {
[super drawRect:dirtyRect];
// Drawing code here.
NSImage *image = [NSImage imageNamed:@"testImage"];
[image drawInRect:dirtyRect];
}
// view2 - (недействительными) DrawRect: (NSRect) dirtyRect { [супер DrawRect: д irtyRect];
// Drawing code here.
[[[NSColor redColor] colorWithAlphaComponent:0.5] set];
NSRectFill(dirtyRect);
}
Но когда приложение запуска, я обнаружил, что в BackgroundColor окна и изображения View1 не показывают, только VIEW2 шоу, и он прозрачен, через него можно видеть на рабочем столе.
Если я не добавил subview view2, приложение работает правильно, синий цвет фона и изображение.
Кто-нибудь знает, почему, действительно спасибо за помощь, я буду ждать в режиме онлайн.