天天看點

利用CocoasPod在Swift項目中使用CorePlot

最近在研究可用的第三方的圖示控件,然後網上搜了之後,感覺功能比較強大的就是coreplot了,于是就開始研究如何部署到程式中。網上關于這方面的教程比較少,大部分都是objective-c的,而且曆史也比較久遠,後來找到一篇老外寫的blog,講述在swift中如何使用coreplot(http://blog.alwold.com/2014/08/07/using-coreplot-with-swift-in-ios/),研究了好久,總算成功安裝了。下面就一步一步介紹。

首先建立一個簡單的swift工程,工程名字為coreplot,記住選擇language為swift。這裡就不再截圖詳細說明了,不清楚的同學可以看我的上一篇blog

這裡我重點說一下如何安裝cocoapods把,因為安裝過程耗費了我好久,而且中間有不少點也鮮有提起。

這裡有兩篇中文的blog比較不錯,都由可取之處,供大家了解cocoapods是什麼。

cocoapods詳解之--使用篇 http://blog.csdn.net/wzzvictory/article/details/18737437

cocoapods安裝和使用教程 http://code4app.com/article/cocoapods-install-usage

關于cocoapods是什麼和它的強大我就不多說了,兩篇blog都有介紹,我重點說一下我的安裝過程。

打開終端,依次輸入下面的指令

這樣是為了通路taobao的ruby鏡像,因為gfw,在國内沒法直接通路cocoapods,是以需要把我們的source設定成taobao的一個鏡像網站。注意區分https和http

為了驗證ruby鏡像  可以輸入

注意是字母 hijk l mn 的l,不是數字1

接下來會顯示

注意,這裡面一定隻能有一條,如果你的裡面仍然有rubygems.org說明沒有remove成功,重新試一下上面的指令。

輸入下面的指令就開始安裝cocoapods

注意,這裡輸入完成之後,可能需要等一段時間才能開始下載下傳和安裝,我當時是等了大概有3分鐘才安裝完成。

安裝執行過程中,會問我嗎是不是要更新rake,輸入y

安裝程序結束之後,執行指令

這裡有得等2,3分鐘的的樣子

如果這中間都沒有報錯,就說明你安裝成功了。

可以試一下看看我們待會要安裝的coreplot:

大緻會告訴你這樣的資訊

利用CocoasPod在Swift項目中使用CorePlot

可以看到最新的coreplot是1.5.1版本的,也可以看到在github上的源位址。

到這裡,cocoapods就安裝完成了,接下來我們繼續我們的步驟

在終端中 cd到你的swift工程所在的目錄,然後執行下面的指令

如果一切正常,在你的工程目錄下,會出現一個檔案名字叫做podfile,這個相當于cocoapods的配置檔案,告訴我們在工程中将引入哪些第三方的控件。

接下來是很重要的一個步驟,用vim或者xcode打開并編輯podfile檔案,一定不要直接輕按兩下檔案打開并編輯,我就是在這上面吃了虧了,搞了好久好久一直提示出錯,因為你的textedit會改變原有的一些你肉眼看不出的格式等等。

執行下面的指令用xcode打開并修改podfile

這裡是我修改後的檔案:

可以看到在target  coreplot,就是我們一開始建立的工程下面,我們加入了pod  coreplot和相應的版本号。

儲存并關閉podfile

在終端執行指令:

又是得耐心地等待一段時間後,會得到下面的結果:

利用CocoasPod在Swift項目中使用CorePlot

表示我們的coreplot已經安裝完成了。

注意最後一行字:

回頭看一下我們的工程目錄,你會發現建立了不少東西,其中有一個叫xxx.xcworkspace

的檔案,就是以後我們再打開工程時直接輕按兩下的檔案了。

我們輕按兩下打開工程。

利用我上一篇blog介紹的方法建立xxx-bridging-header.h 檔案。

就是在我們的工程目錄中create一個新的class并選擇用objective-c做位語言,這樣xcode會自動幫我們建立橋接頭檔案,不需要我們手動做操作。

在剛建好的coreplot-bridging-header.h檔案中添加:

打開storyboard,然後在viewcontroller中再添加進來一個view,這個view将作為我們的coreplot控件的承載view,修改這個view的custom class為

cptgraphhostingview

利用CocoasPod在Swift項目中使用CorePlot

步驟就不畫圖了,在storyboard中assistance editor模式下,ctrl拖拽剛添加的view到viewcontroller.swift檔案中,命名為graphview

我們先編譯一下工程,shift+commond+b,編譯成功之後,可能會有一些警告,我把版本從8.3改成了8.1,因為1.5.1 的coreplot似乎最高支援到8.1

接下來我們在viewdidload方法中添加進下面這些代碼:

添加datasource delegate,在開頭添加代理: cptplotdatasource

編輯代理方法:

整個viewcontroller.swift 看起來是這樣的

接下來就運作一下你的程式,就能看到一個pie被畫在了螢幕上

利用CocoasPod在Swift項目中使用CorePlot

利用coreplot還能畫柱狀圖、折線圖等等,我也剛開始學,一起研究吧。