2016-04-04 24 views
0

Tam ekran modu sırasında OS X durum çubuğunu gizlemek ve devre dışı bırakmak için bir yol var mı?Swift OSX Tam ekran gizleme durumu ve sabitleme

ben bu kodu vardır:

func applicationDidFinishLaunching(aNotification: NSNotification) { 
    /* Pick a size for the scene */ 
    if let scene = MainMenuScene(fileNamed:"GameScene") { 

      if let screen = NSScreen.mainScreen() { 

       window.setFrame(screen.frame, display: true, animate: true) 
       window.collectionBehavior = NSWindowCollectionBehavior.FullScreenPrimary 

} 

NSApplicationPresentationOptions.AutoHideMenuBar 
     skView.showsFPS = false 
     skView.showsNodeCount = false 


     skView.ignoresSiblingOrder = false 

     /* Set the scale mode to scale to fit the window */ 
     scene.scaleMode = .AspectFill 

     scene.size = skView.bounds.size 
     self.skView!.presentScene(scene) 
    } 
} 

ama bu hatayı alıyorum:

Failed to set (collectionBehavior) user defined inspected property on (NSWindow) 

hatadır?

+1

Pencere açıldıktan sonra 'NSWindowCollectionBehavior.FullScreenPrimary' öğesini ayarlarsanız ne olur? –

+0

MainMenuScene.swift dosyası didmovetoview içinde NSWindowCollectionBehavior.FullScreenPrimary koymak çalıştı ... ama hayır şans, menü çubuğu ve dock hala görünür ... – Swift1

cevap

1

windowhntroller içinde self.window?.toggleFullScreen(true) aramayı denediniz mi?

örn.

class WindowController: NSWindowController { 

    override func windowDidLoad() { 
     super.windowDidLoad() 
     self.window?.toggleFullScreen(true) 
    } 
} 

Üst kısımda hiçbir menü çubuğu olmadan tam ekran başlatılmadan başlatılır.

veya en az something.window?.toggleFullScreen(true) göndericinin true olması gerekir.

+0

İkinci seçenek 'pencere? .toggleFullScreen (true)' mükemmel. ilk olarak, bunun yerine menü çubuğu ve yuva görünür durumda kalır. – Swift1

+0

Muhtemelen bu, WindowController sınıfını WindowController olarak ayarlamamış olmanızdır. –