小编iru*_*irc的帖子

为什么NSWindow没有styleMask:NSTitledWindowMask不能是keyWindow?

问题:我有一个窗口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不会成为关键窗口.

macos cocoa nswindow

8
推荐指数
2
解决办法
6402
查看次数

标签 统计

cocoa ×1

macos ×1

nswindow ×1