问题:我有一个窗口mainWindow和另一个childWindow添加到mainWindow.childWindow是一种WindowExt类.这个类我定义了[NSWindow becomeKeyWindow]必须在之后调用的catch方法调用[childWindow makeKeyWindow].如果我创建childWindow并尝试在下一个方向上使它成为keyWindow:
WindowExt *childWindow = [[WindowExt alloc] initWithContentRect:addedWindowRect
styleMask:NSBorderlessWindowMask | NSTitledWindowMask
backing:NSBackingStoreBuffered
defer:NO];
[mainWindow addChildWindow:childWindow ordered:NSWindowAbove];
[childWindow makeKeyWindow];
Run Code Online (Sandbox Code Playgroud)
方法[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];
Run Code Online (Sandbox Code Playgroud)
没有NSTitledWindowMask,[WindowExt becomeKeyWindow]因为childWindow从未被称为 - childWindow不会成为关键窗口.