Почему NSWindow без styleMask: NSTitledWindowMask не может быть keyWindow?
Проблема: у меня есть одно окно mainWindow и еще одно childWindow
добавленное в mainWindow
. childWindow – это class WindowExt
. Этот class, который я определяю для метода catch, вызывает [NSWindow becomeKeyWindow]
который должен быть вызван после [childWindow makeKeyWindow]
. Если я создаю childWindow и попытаюсь сделать его keyWindow следующим образом:
WindowExt *childWindow = [[WindowExt alloc] initWithContentRect:addedWindowRect styleMask:NSBorderlessWindowMask | NSTitledWindowMask backing:NSBackingStoreBuffered defer:NO]; [mainWindow addChildWindow:childWindow ordered:NSWindowAbove]; [childWindow makeKeyWindow];
метод [WindowExt becomeKeyWindow]
для childWindow
называется – все отлично, childWindow
становится keyWindow.
Но если я создаю childWindow как
- 2D-массивы с использованием NSMutableArray
- Как я могу обнаружить двойной щелчок по определенной ячейке в UITableView?
- Изменить цвет курсора в UITextField
- Как настроить цвет фона UITableViewCell?
- Как написать простой метод Ping в Cocoa / Objective-C
WindowExt *childWindow = [[WindowExt alloc] initWithContentRect:addedWindowRect styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:NO]; [mainWindow addChildWindow:childWindow ordered:NSWindowAbove]; [childWindow makeKeyWindow];
без NSTitledWindowMask
, [WindowExt becomeKeyWindow]
для childWindow
никогда не childWindow
– childWindow
не становится keyWindow.
- Как проверить, существует ли NSDate между двумя другими NSDates
- Как отобразить вращающийся NSProgressIndicator в другом цвете?
- Использование не работает с UITableView seperatorColor?
- Работает ли UIGestureRecognizer на UIWebView?
- Как получить значения RGB для пикселя на изображении на iphone
- Что такое простой способ разбить NSArray с 4000+ объектами в нем на несколько массивов с 30 объектами каждый?
- Что означает Apple, когда говорят, что NSManagedObjectContext принадлежит streamу или очереди, которые его создали?
- Любой исходный код cocoa для расшифровки шифрования AES?
Это решение для дизайна Cocoa: windows без заголовка или панели изменения размера по умолчанию не могут стать ключевым окном .
Если вы хотите, чтобы окно без заголовка могло стать ключевым окном, вам необходимо создать подclass NSWindow
и переопределить -canBecomeKeyWindow
следующим образом:
- (BOOL)canBecomeKeyWindow { return YES; }
вы можете установить маску стиля в NSBorderlessWindowMask
, чтобы сделать ее без полей