我正在使用 ::RunAppModalLoopForWindow(WindowPtr)
将碳窗口作为模态运行。但在某些时候我需要显示/隐藏所有应用程序的窗口:
NSArray* windowNumbers = [NSWindow windowNumbersWithOptions:0];
for (NSNumber* windowNumber in windowNumbers)
{
NSWindow* window = [[NSApplication sharedApplication] windowWithWindowNumber:[windowNumber integerValue]];
[window setAlphaValue:CGFloat(showFlag)];
}
但是窗口是 NSCarbonWindow*
,它不响应 setAlphaValue
,因此,窗口不会改变其可见性。
此外,我不知道 NSCarbonWindow
是在哪里定义的,因此我可以从 NSWindow
转换为 NSCarbonWindow。
最佳答案
怎么样:
if ([window respondsToSelector: @selector(setAlphaValue:)])
[window setAlphaValue:CGFloat(showFlag)];
else if (showFlag)
ShowWindow( [window windowRef] );
else
HideWindow( [window windowRef] );
关于objective-c - 如何更改 NSCarbonWindow 可见性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10108435/