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

时间:2016-06-26 03:46:45

标签: swift macos cocoa avplayer 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
}

任何提示?谢谢!

1 个答案:

答案 0 :(得分:4)

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

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

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