[IOS]Swift使用SVGKit的記錄,iossvgkit
最近打算使用swift和SVGkit做一個app,遇到了好多狀況,對於初學者的幾個概念,一個是靜態庫,第二個是oc和swift混編,第三個是xcode6b4的類庫不齊全.
更新了,
首先是SVGKit的GitHub的地址https://github.com/SVGKit/SVGKit,Google一下,百度一下都能找到,然後下載整個svgkit的項目。
好了接下來我們按照正常的swift建立我們的項目,然後我們按照我們的GitHub的要求(Build the static library),這裡我就不翻譯了其實很簡單的,建立了我們的靜態庫.a檔案以及usr檔案夾,這裡注意一定要按照GitHub上的選擇“Debug-universal”的檔案夾裡面的檔案,否則會出錯,選擇iphone或者模擬器的檔案都不能夠完整的運作。做完GitHUb的步驟,這裡另外要注意 我的Xcode6b4的類庫不完整類似CoreText都沒有,後來更新到了Xcode6beta5才正常了,這裡建議大家都更新到最新的Xcode6beta5。
第三個步驟是關於我們的oc與swift混編了,這個網上也有,我這裡貼出和代碼來給大家看一下。
建立一個.h 的檔案作為“橋樑”
我命名為OCHeader.h然後 我們到 build setting裡面進行設定
然後,我們在這個OCHeader.h設定我們要匯入的一些類
#ifndef svgtest_OCHeader_h#define svgtest_OCHeader_h#import "SVGKit.h" //這就是我要添加的SVGKit的類,方便我的swift直接調用#import "SVGKImage.h" //同上#endif
一次添加全域的swift都可以直接使用,
然後我在我的ViewControler中寫我們的代碼把
我先設定了一個button讓其點擊後載入我的svg格式的檔案,svg格式的檔案事先匯入到了我的項目。
import UIKit//cnblog裡面沒有swift 將就一下用了c的模板 代碼裡面對比了oc的例子指導代碼,我們可以看到很多不同點。class ViewController: UIViewController { @IBOutlet var firstview: UIView! @IBAction func showsvgbuttonclic(sender: AnyObject) { var svgim:SVGKImage=SVGKImage(named: "Rsimplified.svg") //SVGKImage* newImage = [SVGKImage imageNamed:@"myImage.svg"]; var svgimview=SVGKLayeredImageView(SVGKImage: svgim) //SVGKImageView* imageView = [[SVGKLayeredImageView alloc] initWithImage:newImage]; firstview.addSubview(svgimview) //[self.view addSubView: [[SVGKLayeredImageView alloc] initWithImage:newImage]; NSLog("showsvgbuttonclick") }
有了swift學習ios開發還有必要學習objectivec
swift才推出,不會太快棄用obj-c的。obj-c有一套完善的api,現在近期或1-2年內做項目還是必然用obj-c。swift現在的只是用來玩玩而已。蘋果官方給出的建議就是,主專案還是用obj-c寫,swift用來開發外掛程式之類的。
現在入門IOS開發走OC還是SWIFT?
如果只是搭班車,學swift效率。如果想深入,個人覺得還是要先學OC的,否則即使iOS8正式發布,很多第三方庫還是OC寫的,沒有跟進,這時候需要你讀懂和操作。雖然OC現在看起來學習成本和最終目的太不相稱。