标签:
新建一个文件继承自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
}
再运行下看看:

[macOS]init windows position——方法二:代码实现
标签:
原文地址:http://www.cnblogs.com/ybw123321/p/5646255.html