2016-07-15 3 views
0

私はosx swiftで書かれたアプリケーションを持っており、特定の動作や問題に関して助けが必要です。私は私のランチパッドに行けば、それにOSX/Swiftアプリケーションをどこでも使用可能

self.window!.level = Int(CGWindowLevelForKey(Int32(kCGScreenSaverWindowLevelKey))) 

少し問題、私が見てきたものから、それは仕事をしていることである...しかし:私はこのコードを使用して他のすべてのウィンドウの上になるようにアプリケーションを設定していますアプリケーションメニューには、まだウィンドウが表示されます。これはまさに私がウィンドウを動作させる方法ですが、ウィンドウ内のボタンを押すたびに、アプリケーションは正常に機能するために通常のデスクトップにリセットされます。私はこれを証明する以下のリンクしている:私は私のランチパッドから取り出し、私は自分のアプリケーション内のボタンをヒットするたびに、通常のデスクトップ画面にリセット取得していますか

https://gyazo.com/f4d05c10ad7b5dbf8b95f3bd2aa23cc4

参照してください?私は本当にこの問題を解決する必要があります。

これを防ぐために使用できるinfo.plistプロパティはありますか?適切なデスクトップ環境にリセットせずにどこでもウィンドウを使用できるようにするために使用できるコードはありますか?前もって感謝します!

import Cocoa 

let kCGFloatingWindowLevel: CGWindowLevel = 
    CGWindowLevelForKey(CGWindowLevelKey.FloatingWindowLevelKey) 

@NSApplicationMain 
class AppDelegate: NSObject, NSApplicationDelegate { 

    @IBOutlet weak var window: NSWindow! 

    func applicationDidFinishLaunching(aNotification: NSNotification) { 
     self.window!.level = Int(kCGFloatingWindowLevel) 
    } 
} 

現在使用しているウィンドウレベルのタイプは、主に、スクリーンセーバーの窓のためのものです:

答えて

0

NSFloatingWindowLevelは、より良い選択かもしれません。フローティングパレットやウィンドウが必要な場合は、上記の方法を使用して、望ましい動作を得られるはずです。

NSWindow : NSFloatingWindowLevel

+0

これは非常にばかげた質問かもしれません...しかし、どのようにそれを宣言するのでしょうか? –

+0

私はself.windowを使ってみました!level = NSFloatingWindowLevelしかし、それは私に多量のエラーをもたらしましたD: –

+0

Hmmm ...何が正確にエラーでしたか?その情報を知るのを助けるかもしれません... –

関連する問題