0
我想在NSView中繪製圖像背景,並放置一些元素,這些元素在其頂部也有透明背景。在透明元素下在NSView中繪製圖像背景
我有一個NSView的overrided繪製矩形:
- (void)drawRect:(NSRect)rect
{
[NSGraphicsContext saveGraphicsState];
NSImage *image = [NSImage imageNamed:@"header_background.gif"];
[image drawInRect:CGRectMake(0, rect.size.height - 75, rect.size.width, 75) fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];
[NSGraphicsContext restoreGraphicsState];
}
NSWindow初始化:
- (id)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag
{
self = [super initWithContentRect:contentRect styleMask:aStyle backing:bufferingType defer:flag];
if (self) {
[self setOpaque:NO];
[self setHasShadow:YES];
[self setBackgroundColor:[NSColor clearColor]];
}
return self;
}
之後a've有這樣怪異的效果。幻燈片和按鈕的背景也有時閃爍
我在做什麼錯了?
謝謝你的迴應。我已經更新了第一篇文章到目前的狀況。問題仍然在這裏..順便說一句,當我調整窗口元素的背景變得正常(不透明)。但是當它們被更新時,問題再次出現。 –
所以它看起來像元素忽略了我在NSView中繪製的背景.. –
爲什麼你在窗口上調用setOpaque:NO?你是否想要創造一個完全清晰的窗戶?那標題欄呢? –