Вам необходимо установить для вашего окна непрозрачный на NO.И подкласс Вид вашего окна.
Подкласс окна:
-(id)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag
{
self = [super initWithContentRect:contentRect styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:NO];
if (self) {
[self setOpaque:NO];
[self setHasShadow:YES];
[self setBackgroundColor:[NSColor clearColor]];
}
return self;
}
-(BOOL)canBecomeKeyWindow
{
return YES;
}
Подкласс вида окна:
- (void)drawRect:(NSRect)rect
{
NSBezierPath * path;
path = [NSBezierPath bezierPathWithRoundedRect:rect xRadius:8 yRadius:8];
[[NSColor colorWithCalibratedRed:0 green:0 blue:0 alpha:0.75] set];
[path fill];
}
Результат:
![result](https://i.stack.imgur.com/sKLdu.png)
Дополнительные объяснения, как это сделать:
Создать новый класс NSView и вставить "Вид окна"подкласс "код, который я написал в нем.Затем перейдите в вид окна.
Вот вид окна, щелкните по нему:
![Window's view](https://i.stack.imgur.com/Pc9ID.png)
Перейдите в инспектор удостоверений и установите класс для созданного вами класса:
![enter image description here](https://i.stack.imgur.com/2fL8k.png)