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

Hide Titlebar when mouse is idle - Swift (Cocoa OS X)

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

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

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

截图: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
}

有什么建议吗?谢谢!

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

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

标题栏按钮仍然有效,因此当动画完成时,您必须将其分组到 NSAnimationContextsetHidden: 中。