iOS無限滾動相冊切換:CFPPTView
Swift版幻燈,scrollView無限滾動,支持網絡和本地圖片展示!
框架說明 EXPLAIN
Swfit時代的到來! 此是我第一個swift版本的框架,此框架意味著我正式進入swift時代, 以后所有項目和框架均全部以swift為開發語言,不再開發OC框架和程序。 請注意一下細節: OC框架和Swift框架為了版權的目的,都有前綴 OC: Core(Core系列) Swift: CF (意為Charlin Feng)
OC版本 OC
之前寫了一個OC版本(基于CollectionView):
https://github.com/nsdictionary/CorePPTVC
框架截圖 CUT
框架特性 FEATURE
1.swift代碼編寫。
2.ios7.0 系統以上。
3.scrollView實現無限滾動,自動滾動展示。
4.支持本地圖片幻燈數據與網絡圖片幻燈。
5.使用簡單,一鍵集成。
框架依賴 DEPENDENCE
.CoreSDWebImage(OC)
.CorePageControl(OC)
.CFExtend(Swift)
.CFSnapKit(Swift)
使用說明 USAGE
1. 使用了OC框架(之前的OC框架一樣可以使用的)
請查看項目中Supporting Files下有一個OC.h,這是一個橋文件, 在build settings里面swift編譯的時候,把oc橋文件指向$(SRCROOT)/$(TARGET_NAME)/oc.h 關于橋文件的使用以及swift和oc混編,這里不再贅述。
2. 由于swift自動引入,不用導入任何頭文件,直接使用
2.1 本地幻燈:請注意直接構造方法傳入正確的type值并在closure內返回幻燈模型
//創建并展示一個本地幻燈:
//創建SwiftPPT
var pptView = CFPPTView(type: PPTType.local) { () -> [PPTDataModel] in
var localImages = [UIImage(named: "local1"),UIImage(named: "local2"),UIImage(named: "local3"),UIImage(named: "local4")]
var localTitleStr = ["本地幻燈:花千骨劇照一","本地幻燈:花千骨劇照二","本地幻燈:花千骨劇照三","本地幻燈:花千骨劇照四"]
var dataModels: [PPTDataModel] = Array()
for i in 0..<localImages.count {
var dataModel = PPTDataModel(localImage: localImages[i]!, titleStr: localTitleStr[i])
dataModels.append(dataModel)
}
return dataModels
}
pptView.frame = CGRectMake(0, 80, Screen.width, 160)
self.view.addSubview(pptView)2.2 網絡幻燈:請注意直接構造方法傳入正確的type值并在closure內返回幻燈模型
//創建并展示一個網絡幻燈:
//創建SwiftPPT
var pptView2 = CFPPTView(type: PPTType.netWork) { () -> [PPTDataModel] in
var networkImages = ["http://img.netbian.com/file/2015/0619/e8ffa0a298a4f7374df0e599c4fa134d.jpg","http://img.netbian.com/file/20150319/0a176c7518b4b1e9041bb4ada0899160.jpg","http://img.netbian.com/file/20150114/96e7591ea70c43b06c47503a9d31c2f6.jpg","http://img.netbian.com/file/20141129/35b2d754f2eec0a41381115ccf46c2f4.jpg","http://img.netbian.com/file/20140511/2f42b589066cb7baba9f8a3ab820dd45.jpg"]
var networkTitleStr = ["網絡幻燈:小黃人一","網絡幻燈:小黃人","網絡幻燈:小黃人三","網絡幻燈:小黃人四","網絡幻燈:小黃人五"]
var dataModels: [PPTDataModel] = Array()
for i in 0..<networkImages.count {
var dataModel = PPTDataModel(networkImageUrl: networkImages[i], placeHolderImage: nil, titleStr: networkTitleStr[i])
dataModels.append(dataModel)
}
return dataModels
}
pptView2.frame = CGRectMake(0, 260, Screen.width, 160)
self.view.addSubview(pptView2)3 性能問題:幻燈內含有定時器,你可以根據以下API自行處理
/** 關閉定時器 */
func timerOff(){
self.scrollView?.timerOff()
}
/** 打開定時器 */
func timerOn(){
self.scrollView?.timerOn()
} 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!
