創(chuàng)建程序
xcode
創(chuàng)建程序選擇創(chuàng)建Mac app
即可,填入相應(yīng)的包名后創(chuàng)建工程,這里使用swift
語言基于sotryboard
進(jìn)行開發(fā),然后運行程序,這時候程序的窗口在左下角,接下來進(jìn)行一些參數(shù)的設(shè)置
圖片.png
圖片.png
NSWindow基本設(shè)置
新建一個類HomeWindowController
繼承于NSWindowController
,修改Main.storyboard
中的Window Controller
的Custom class
為HomeWindowController
圖片.png
設(shè)置window
標(biāo)題
self.window?.title = "圖片管理";
設(shè)置程序窗口大小
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
實現(xiàn)window
代理,設(shè)置當(dāng)前window
的代理,實現(xiàn)window
生命周期相關(guān)回調(diào)
self.window?.delegate = self
//MARK:NSWindowDelegate
func windowShouldClose(_ sender: NSWindow) -> Bool {
return true
}
func windowWillClose(_ notification: Notification) {
}
AppDelegate相關(guān)設(shè)置
點擊程序關(guān)閉按鈕后,再次點擊程序圖標(biāo)打開程序窗口
func applicationShouldHandleReopen(_ sender: NSApplication, hasVisibleWindows flag: Bool) -> Bool {
NSApplication.shared.windows[0].makeKeyAndOrderFront(self)
return true
}
MainMenu設(shè)置
刪除不需要的留下需要的即可,可將點擊事件關(guān)聯(lián)到AppDelegate
中
圖片.png
圖片.png
最終效果
圖片.png
顯然頂部的導(dǎo)航器難以控制,所以接下來進(jìn)行自定義導(dǎo)航器的介紹.
在xib
中找到對應(yīng)的window
將如下兩個屬性勾上,即可隱藏系統(tǒng)提供的布局
圖片.png
在vc
對應(yīng)的布局中使用自己布局好的NSView
進(jìn)行替換
圖片.png
最終效果.png