2010-12-20 106 views

回答

5

下面的代碼添加到的NSView你想全屏:

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

它是完全一樣的,你需要注意的唯一的一點是,如果您有任何NSWindow特定代碼...

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

+0

這僅適用於10.5及更高版本,但它非常容易操作。如果你想支持10.5,視圖必須放在一個窗口中,但如果你只想要10.6,它不一定非要。 – ughoavgfhw 2010-12-20 20:20:12

+1

@hauntsaninja,但如何逃避全屏模式?我的視圖使用上面的相同代碼,並沒有響應「esc」鍵盤事件。 – scorpiozj 2012-09-05 01:47:04

0

試試這個:

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

     [myView enterFullScreenMode:[NSScreen mainScreen] withOptions:@{ 
      NSFullScreenModeApplicationPresentationOptions : @(options) }]; 
                       }]; 
    } 
} 

您可以將它連接到窗口菜單中的全屏菜單項(將其插入到筆尖後),但一定要將菜單項觸發的操作更改爲toggleMyViewFullScreen:。或者,您可以以編程方式或加載應用時調用toggleMyViewFullScreen。

相關問題