У меня есть подкласс без полей 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), когда я запускаю приложение, графика выглядит неправильно, потому что вокруг окна появляется серая квадратная граница в один пиксель.Он не установлен вокруг моей пользовательской графики, а вокруг рамки окна, что означает, что он сводит на нет мои закругленные углы.
Есть ли что-то, чего мне не хватает в моих подклассах?
РЕДАКТИРОВАТЬ: Вот скриншот проблемы:
