Problem: mam jedno okno MainWindow i inny childWindow
dodany do mainWindow
. childWindow jest rodzajem klasy WindowExt
. Ta klasa definiuję dla metody catch method: [NSWindow becomeKeyWindow]
, która musi być wywołana po [childWindow makeKeyWindow]
. Jeśli tworzę childWindow i spróbować zrobić to keyWindow na następny sposób:Dlaczego NSWindow bez styleMask: NSTitledWindowMask nie może być keyWindow?
WindowExt *childWindow = [[WindowExt alloc] initWithContentRect:addedWindowRect
styleMask:NSBorderlessWindowMask | NSTitledWindowMask
backing:NSBackingStoreBuffered
defer:NO];
[mainWindow addChildWindow:childWindow ordered:NSWindowAbove];
[childWindow makeKeyWindow];
metoda [WindowExt becomeKeyWindow]
dla childWindow
nazywa - wszystko jest w porządku, childWindow
stać keyWindow.
Ale jeśli tworzę childWindow jak
WindowExt *childWindow = [[WindowExt alloc] initWithContentRect:addedWindowRect
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
defer:NO];
[mainWindow addChildWindow:childWindow ordered:NSWindowAbove];
[childWindow makeKeyWindow];
bez NSTitledWindowMask
, [WindowExt becomeKeyWindow]
dla childWindow
nigdy nie jest nazywany - childWindow
nie stać keyWindow.