Есть много примеров того, как создать NSWindow на SO, которые, когда я пробую их на Catalina, не совсем работают. Я вижу, что drawRect вызывают для моего представления, и приложение, кажется, ожидает событий, но окно появляется под другими окнами, несмотря на мое использование "makeKeyAndOrderFront". Что может вызвать это?
Что-то изменилось с Каталиной?
int main() {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[NSApplication sharedApplication];
MyAppDelegate *delegate = [[MyAppDelegate alloc] init];
NSApp.delegate = delegate;
[NSApp run];
[delegate release];
[pool release];
return 0;
}
- (void) applicationDidFinishLaunching: (NSNotification *) notification{
NSRect frame = NSMakeRect(0, 0, DEFAULT_WINDOW_WIDTH, DEFAULT_WINDOW_HEIGHT);
NSWindow *window = [[NSWindow alloc] initWithContentRect: frame
styleMask:NSBorderlessWindowMask
backing: NSBackingStoreBuffered
defer: NO
];
self.window = window;
self.view = [[MyView alloc] init];
self.window.contentView = self.view;
self.window.delegate = self;
[self.window makeKeyAndOrderFront: nil];
}
Кроме того, в доке не отображается значок нового окна.