鼠标空闲时隐藏标题栏 - Swift (Cocoa OS X)

use*_*455 3 macos cocoa avplayer swift avplayerview

在我的应用程序中,我试图让我的 AVPlayerView 在鼠标空闲时隐藏标题栏。

截图:http : //i.stack.imgur.com/rMcrv.png

基本上我想要视频控件具有相同的效果,如果没有鼠标活动,它会自动消失。

截图:http : //i.stack.imgur.com/TtTtb.png

这是我现在所拥有的:

override func viewDidAppear() {
    super.viewDidAppear()
    self.view.window?.titleVisibility = NSWindowTitleVisibility.Hidden;
    self.view.window?.titlebarAppearsTransparent = false
    self.view.window?.styleMask = NSTitledWindowMask | NSFullSizeContentViewWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask | NSResizableWindowMask
}
Run Code Online (Sandbox Code Playgroud)

有小费吗?谢谢!

Kev*_*Low 5

我可能会设置一个NSTimer来确定标题栏消失前多长时间。每次mouseMoved:调用时,这都会失效并重置。一旦它被调用,那么我知道让NSWindow标题栏淡出的唯一方法是通过循环或使用按钮的超级视图来获取标题栏视图(当然它以后总是可以改变的):

[[[[self.window standardWindowButton:NSWindowCloseButton] superview] animator] setAlphaValue:0];

该标题栏按钮仍然工作,所以你必须把它组中NSAnimationContext,并setHidden:在动画完成。