MacOS开发笔记18-在主显示器显示APP

2020-08-06  本文已影响0人  voyager3

当电脑接了另外一个显示器时,

    
    func relocate() {
        relocate(size:NSSize(width: (contentView?.frame.size.width)!, height: (contentView?.frame.size.height)!),offsetY: 60)
    }
    
    func relocate(size:NSSize,offsetY:CGFloat) {
        let mouseLocation = NSEvent.mouseLocation
        let screens = NSScreen.screens
        for screen in screens {
            if NSMouseInRect(mouseLocation, screen.frame, false) {
                let screenOrigin = screen.frame.origin
                let screenSize = screen.frame.size
                let screenCenterX = screenOrigin.x + screenSize.width * 0.5
                let screenCenterY = screenOrigin.y + screenSize.height * 0.5
                let center = NSPoint(x:screenCenterX , y:screenCenterY)
                let rect = NSRect(x:center.x - size.width * 0.5, y: center.y - size.height * 0.5 + offsetY, width: size.width, height: size.height)
                setFrame(rect, display: true)
            }
        }
    }
    
上一篇 下一篇

猜你喜欢

热点阅读