鼠标空闲时隐藏标题栏 - 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];
标题栏按钮仍然有效,因此当动画完成时,您必须将其分组到 NSAnimationContext
和 setHidden:
中。
在我的应用程序中,我试图让我的 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];
标题栏按钮仍然有效,因此当动画完成时,您必须将其分组到 NSAnimationContext
和 setHidden:
中。