Проблема:
У меня есть одно окно mainWindow, а другое childWindow
добавлено к mainWindow
.
childWindow - это класс WindowExt
. Этот класс я определяю для вызова метода 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 как
WindowExt *childWindow = [[WindowExt alloc] initWithContentRect:addedWindowRect
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
defer:NO];
[mainWindow addChildWindow:childWindow ordered:NSWindowAbove];
[childWindow makeKeyWindow];
без NSTitledWindowMask
, [WindowExt becomeKeyWindow]
для childWindow
никогда не вызывается - childWindow
не становится keyWindow.