创建程序
xcode
创建程序选择创建Mac app
即可,填入相应的包名后创建工程,这里使用swift
语言基于sotryboard
进行开发,然后运行程序,这时候程序的窗口在左下角,接下来进行一些参数的设置
NSWindow基本设置
新建一个类HomeWindowController
继承于NSWindowController
,修改Main.storyboard
中的Window Controller
的Custom class
为HomeWindowController
设置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
中
最终效果
显然顶部的导航器难以控制,所以接下来进行自定义导航器的介绍.
在xib
中找到对应的window
将如下两个属性勾上,即可隐藏系统提供的布局
在vc
对应的布局中使用自己布局好的NSView
进行替换