У меня та же проблема, что и в этом вопросе:
Серая рамка при использовании NSBorderlessWindowMask
Однако принятый ответ (как в комментариях)удаление тени окна, похоже, не работает, по крайней мере, на Lion.
Я подклассифицировал NSWindow
и создал окно без полей следующим образом:
-(id)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag {
self = [super initWithContentRect:contentRect
styleMask:(NSBorderlessWindowMask | NSResizableWindowMask)
backing:bufferingType
defer:flag];
[self setMovableByWindowBackground:YES];
[self setOpaque:NO];
[self setBackgroundColor:[NSColor clearColor]];
[self setHasShadow:YES];
[self setLevel:NSMainMenuWindowLevel];
return self;
}
Обратите внимание, что это приложение будет работать только на Lion (поэтому NSResizableWindowMask
не меняет внешний вид).Я попытался отключить тень и переключить многочисленные настройки для моего окна, но я не могу удалить эту серую рамку:
Нигде в моем коде я не добавляю границу.Я просто добавил NSSplitView
в Интерфейсном Разработчике в окне.Во время выполнения я добавляю цветной вид в качестве подпредставления на левую панель разделенного вида, полностью заполняя границы левого разделенного вида.
Редактировать: это происходит даже при использовании простого NSView
,даже не разделенный вид.
TL;DR
: Почему у моего NSView
есть серая рамка вокруг него?