【问题标题】:Are there any example on how to write full-screen apps for Mac OS X in Objective-C with Cocoa?有没有关于如何使用 Cocoa 在 Objective-C 中为 Mac OS X 编写全屏应用程序的示例?
【发布时间】:2011-05-28 09:36:18
【问题描述】:

有人可以指出任何有关如何使用 Cocoa 在 Ojective-C 中为 Mac OS X 编写全屏应用程序的示例吗?

【问题讨论】:

    标签: objective-c cocoa macos fullscreen


    【解决方案1】:

    试试这个:

    - (void)toggleMyViewFullScreen:(id)sender
    {
        if (myView.inFullScreenMode) {
          [myView exitFullScreenModeWithOptions:nil];
        } else {
          NSApplicationPresentationOptions options =
              NSApplicationPresentationHideDock |       
              NSApplicationPresentationHideMenuBar;
    
          [myView enterFullScreenMode:[NSScreen mainScreen] withOptions:@{
                 NSFullScreenModeApplicationPresentationOptions : @(options) }];
                                                                                     }];
        }
    }
    

    您可以将其连接到窗口菜单中的全屏菜单项(在将其插入到您的笔尖之后),但请务必将菜单项触发的操作更改为您的 toggleMyViewFullScreen: 。或者您可以通过编程方式或在您的应用加载时调用 toggleMyViewFullScreen。

    【讨论】:

      【解决方案2】:

      将以下代码添加到您要制作全屏的 NSView 中:

      [view enterFullScreenMode:[NSScreen mainScreen] withOptions:nil];

      完全一样,你唯一需要注意的是你是否有任何 NSWindow 特定的代码......

      http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSView_Class/Reference/NSView.html

      【讨论】:

      • 这仅在 10.5 及更高版本中可用,但非常容易做到。如果要支持 10.5,则视图必须在窗口中,但如果您只需要 10.6,则不必在窗口中。
      • @hauntsaninja,但是如何退出全屏模式?我的视图使用了上面相同的代码,并且没有响应“esc”键盘事件。
      【解决方案3】:

      http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=02

      许多教程都有一个 OSX Cocoa 示例。

      【讨论】:

        猜你喜欢
        • 2010-09-07
        • 2011-06-22
        • 2012-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多