创建程序
xcode创建程序选择创建Mac app即可,填入相应的包名后创建工程,这里使用swift语言基于sotryboard进行开发,然后运行程序,这时候程序的窗口在左下角,接下来进行一些参数的设置

图片.png

图片.png
NSWindow基本设置
新建一个类HomeWindowController继承于NSWindowController,修改Main.storyboard中的Window Controller的Custom class为HomeWindowController

图片.png
设置window标题
self.window?.title = "图片管理";
设置程序窗口大小
let width = NSScreen.main!.frame.size.width / 3 * 2
let height = NSScreen.main!.frame.size.height / 3 * 2
self.window?.setContentSize(.init(width: width, height: height))
HomeWindowController实现window代理,设置当前window的代理,实现window生命周期相关回调
self.window?.delegate = self
//MARK:NSWindowDelegate
func windowShouldClose(_ sender: NSWindow) -> Bool {
return true
}
func windowWillClose(_ notification: Notification) {
}
AppDelegate相关设置
点击程序关闭按钮后,再次点击程序图标打开程序窗口
func applicationShouldHandleReopen(_ sender: NSApplication, hasVisibleWindows flag: Bool) -> Bool {
NSApplication.shared.windows[0].makeKeyAndOrderFront(self)
return true
}
MainMenu设置
删除不需要的留下需要的即可,可将点击事件关联到AppDelegate中

图片.png

图片.png
最终效果

图片.png
显然顶部的导航器难以控制,所以接下来进行自定义导航器的介绍.
在xib中找到对应的window将如下两个属性勾上,即可隐藏系统提供的布局

图片.png
在vc对应的布局中使用自己布局好的NSView进行替换

图片.png

最终效果.png