【问题标题】:How can I detemine which screen holds the menubar?如何确定哪个屏幕包含菜单栏?
【发布时间】:2010-07-02 05:09:24
【问题描述】:

在 Cocoa 中,当计算机有多个屏幕时,如何确定哪个屏幕包含菜单栏?

这是我目前所拥有的:

NSArray * screens = [NSScreen screens];
NSScreen * mainScreen = [screens objectAtIndex:0];
if ([screens count] > 1)
{
    for (NSScreen * screen in screens)
    {
        if (/* screen == the screen that holds the menubar */)
        { mainScreen = screen; break; }
    }
}

NSLog(@"the main screen is: %@", mainScreen);

注意:我尝试使用[NSScreen mainScreen],但这只是返回当前活动窗口所在的屏幕。如果我的应用程序中没有打开其他窗口,它只会返回具有菜单栏的屏幕。

【问题讨论】:

    标签: objective-c cocoa screen menubar


    【解决方案1】:

    来自NSScreen 文档:

    包含菜单栏的屏幕始终是屏幕方法返回的数组中的第一个对象(索引 0)。

    所以你的变量 mainScreen 已经包含它了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-16
      • 2012-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-27
      • 1970-01-01
      相关资源
      最近更新 更多