國內(nèi)做 iOS 開發(fā)的開發(fā)者很多祭示,但是 OS X 開發(fā)者數(shù)量卻遠(yuǎn)遠(yuǎn)不及偷崩。與此同時,有關(guān) OS X 開發(fā)的文章和參考資料也十分少帚呼,自學(xué)起來比較困難掏缎,所以我決定在這個文集中記錄一些 OS X 開發(fā)的點滴。
第一篇我們來點簡單的煤杀。
建立項目
首先啟動 Xcode御毅,選擇新建項目,項目模板當(dāng)然就是 OS X Application 啦
下面是選擇使用的語言和一些技術(shù)怜珍,我這里比較推薦大家選擇 Swift 語言端蛆,當(dāng)然你也可以使用你熟悉 Objective-C,然后勾選 Use Storyboards 選項酥泛,因為使用 Storyboard 可以極大地提高你的開發(fā)效率今豆。
What's in Storyboard
打開 Main.storyboard
文件,我們看看里面有什么內(nèi)容柔袁。
OMG呆躲,感覺好復(fù)雜,有三個視覺元素:主菜單捶索、窗口插掂、視圖。這些分別都是什么鬼腥例?
我們知道每個 OS X 應(yīng)用都有一個單獨的菜單辅甥,那么最上面的菜單就是整個應(yīng)用顯示在狀態(tài)欄上的主菜單。
接下來是窗口燎竖,我們可以看到窗口左側(cè)有個箭頭璃弄,這個箭頭的意思是,該窗口是啟動窗口构回,也就是當(dāng)應(yīng)用一啟動夏块,這個窗口就會出現(xiàn)。
再往下是視圖纤掸,它表示了窗口所顯示內(nèi)容脐供,你完全可以把它當(dāng)做 iOS 的 ViewController。我們可以將窗口和視圖之間的關(guān)聯(lián)去掉借跪,這樣窗口就什么內(nèi)容都沒有了政己。但是啟動時窗口還會顯示。但如果將窗口左側(cè)的箭頭去掉(取消選擇檢查器中的 Is Initial Controller 選項)垦梆,那么程序啟動時就什么都不會出現(xiàn)了匹颤。
下面我們?nèi)サ裟J(rèn)啟動的窗口仅孩,來看看如何用代碼控制一個窗口的顯示。我們轉(zhuǎn)到 AppDelegate.swift
中印蓖,可以看到下面幾個聲明周期函數(shù):
當(dāng)應(yīng)用程序啟動之后辽慕,
applicationDidFinishLaunching(:_)
函數(shù)就會被調(diào)用,與 iOS 稍有不同的是赦肃,我們必須要設(shè)置一個 Storyboard 或 Xib 作為啟動界面溅蛉,因為這個啟動界面中含有程序依賴的 NSApplication
對象,如果沒有設(shè)置他宛,那么這兩個周期函數(shù)就不會執(zhí)行船侧。既然我們已經(jīng)將 Main.storyboard
作為啟動界面了,那么我們就可以在上面的周期函數(shù)中拿到要顯示的窗口厅各,并顯示它镜撩。
不得不吐槽一下 Cocoa 的 API 設(shè)計,顯示窗口的函數(shù)竟然叫這么個名字...
可以看出基本都是套路队塘,首先拿到 Storyboard 袁梗,然后用標(biāo)識符來實例化一個控制器,得到的 WindowController 先調(diào)用一下 showWindow(:_)
憔古,然后調(diào)用它所控制的窗口的 makeKeyAndOrderFront(:_)
方法遮怜,這樣窗口就顯示了。
Hello, world!
下面我們在窗口視圖里放點東西:
然后建立 Outlet鸿市,這點和 iOS 是一樣的锯梁。
創(chuàng)建一個新的視圖控制器:
拉線建立一個 Segue,我們要在點擊按鈕時以 Sheet 的樣式顯示這個視圖焰情。
再拉線將 "Dismiss" 按鈕與 dissmissController 動作綁定陌凳。
這里有個小細(xì)節(jié),默認(rèn)按鈕如何設(shè)置烙样?在以前的 OS X 版本中冯遂,默認(rèn)按鈕就是藍(lán)色閃閃發(fā)光的那個樣子。我們想將 "Dismiss" 按鈕設(shè)置為默認(rèn)按鈕谒获,就需要將其快捷鍵設(shè)置為 Return 鍵,沒錯就是這樣??
設(shè)置完后我們就會發(fā)現(xiàn)這個按鈕變成藍(lán)色了壁却。
響應(yīng)按鈕點擊事件:
運行一下看看效果:
OK批狱,今天就先寫這么多了~