【问题标题】:Hide Titlebar when mouse is idle - Swift (Cocoa OS X)鼠标空闲时隐藏标题栏 - Swift (Cocoa OS X)
【发布时间】:2016-06-26 03:46:44
【问题描述】:

在我的应用程序中,我试图让我的 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
}

有什么建议吗?谢谢!

【问题讨论】:

    标签: swift macos cocoa avplayer avplayerview


    【解决方案1】:

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

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

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

    【讨论】:

    • 不错的主意,我会试一试!谢谢
    • 这是一个老话题和一个聪明的答案,但你是否也想出如何隐藏标题栏下的边框?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-22
    • 2010-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-22
    相关资源
    最近更新 更多