新建一个文件继承自NSWindowController的类windowController。
选择类:
在windowController.swift编写代码。
在windowDidLoad里面添加代码:
if let window = window, screen = window.screen { let offsetFromLeftOfScreen: CGFloat = 20 let offsetFromTopOfScreen: CGFloat = 20 let screenRect = screen.visibleFrame print(screenRect) let newOriginY = CGRectGetMaxY(screenRect) - window.frame.height - offsetFromTopOfScreen //设置窗口左下角坐标 window.setFrameOrigin(NSPoint(x: offsetFromLeftOfScreen, y: newOriginY)) }
运行我们可以看到:
还有一个
我们可以看出screenRect是屏幕尺寸!
这时还有一个问题,new一个窗口的话会和原来的窗口完全重叠,这样是非常不友好的,怎么解决呢?
加一段代码就ok了:
required init?(coder: NSCoder) { super.init(coder: coder) //设置新窗口弹出瀑布式 shouldCascadeWindows = true }
再运行下看看: