我有NSWindow
自定義圖形的無國界的子帶圓角:意外邊境自定義圖形
MyCustomWindow:
- (id)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)windowStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)deferCreation
{
self = [super initWithContentRect:contentRect styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:NO];
if (self) {
// Start with no transparency for all drawing into the window
[self setAlphaValue:1.0];
// Turn off opacity so that the parts of the window that are not drawn into are transparent.
[self setOpaque:NO];
[self setMovableByWindowBackground:YES];
}
return self;
}
- (BOOL) canBecomeKeyWindow
{
return YES;
}
MyCustomView:
- (void)drawRect:(NSRect)rect {
[[NSColor clearColor] set];
NSRectFill([self frame]);
[backgroundImage compositeToPoint:NSZeroPoint operation:NSCompositeSourceOver];
}
然而,每隔一段時間(也許1/10)當我啓動應用程序時,圖形看起來不對,因爲我在窗口周圍出現灰色的一個像素方形邊框。它不是圍繞我的自定義圖形設置的,而是圍繞窗口框架設置的,這意味着它會消除我的圓角。
在我的子類中是否有我缺少的東西?
編輯: 這是問題的一個截圖:
似乎我有同樣的問題,我弄明白了。看到這裏:http://stackoverflow.com/questions/9124349/grey-border-around-view-when-using-nsborderlesswindowmask – 2012-07-06 06:14:01
你有沒有想過這個?我也有同樣的問題。 – sam 2013-06-03 23:16:11
對不起,山姆,我沒有。我最終使用了一個較少定製的設計,窗口邊緣保持標準。 – pajevic 2013-06-04 08:50:21