繁体   English   中英

NSStatusItem全屏问题

[英]NSStatusItem fullscreen issues

我正在创建一个状态栏应用程序,在单击NSStatusItem时显示NSPopover,如下所示:

在此输入图像描述

我已经添加了通过拖动边缘来调整popover大小的功能,通过子类化popover的视图,如下所示:

class CMView: NSView {
    let tolerance : CGFloat = 10
    var state = false

    override func mouseDown(theEvent: NSEvent) {
        let point = self.convertPoint(theEvent.locationInWindow, fromView: nil)
        if (point.y <= tolerance) {
            state = true
        }
    }
    override func mouseDragged(theEvent: NSEvent) {
        if (state) {
            let point = self.convertPoint(theEvent.locationInWindow, fromView: nil)
            self.frame = NSRect(
                x: self.frame.origin.x,
                y: self.frame.origin.y,
                width: self.frame.size.width,
                height: self.frame.size.height-point.y)
            popover.contentSize = self.frame.size
        }
    }
    override func mouseUp(theEvent: NSEvent) {
        state = false
    }
}

适用于桌面未全屏的情况。 如果我尝试在全屏中调整大小,它根本不起作用,并且弹出箭头神秘地消失。

在全屏环境中调用时,似乎弹出窗口不会重绘。 有没有解决这个问题的方法?

在WWDC。 问同样的问题。 你必须拥有一个UIElement应用程序 - 这意味着没有停靠图标,没有主菜单。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM