2
我有NSWindow
:繪製到透明目的地會導致拉絲工件
_window = [[NSWindow alloc] init];
[_window setOpaque:NO];
[_window setBackgroundColor:[NSColor clearColor]];
[_window setStyleMask:NSBorderlessWindowMask];
我有作爲其內容查看我的自定義視圖(無層):
[_window setContentView:[[MyCustomView alloc] init]];
以我的自定義視圖我的drawRect:
創建看起來像系統彈出窗口並填充顏色的貝塞爾路徑。
- (void)drawRect:(NSRect)dirtyRect
{
[NSGraphicsContext saveGraphicsState];
[super drawRect:self.bounds];
NSBezierPath *path = [self bodyShape];
[self.backgroundColor setFill];
[path fill];
[NSGraphicsContext restoreGraphicsState];
}
,直到我動酥料餅的地方指標都看起來不錯
。在窗口中重繪出現文物後,我的自定義視圖的drawRect:
繪製了內容。
下次繪製內容時,這個白色三角形(見上圖)停留在窗口中的同一位置並隨窗口移動。
如果我添加到我的視圖圖層 - 所有看起來都沒問題,但我無法添加圖層。
如果我用一些純色填充我的視圖,則沒有神器。
我建議Cocoa緩存第一個位圖。但我不確定爲什麼會發生這種情況,以及如何解決這個問題。也許有人知道爲什麼如何解決它? 謝謝。