iOS無限滾動相冊切換:CFPPTView

jopen 10年前發布 | 16K 次閱讀 CFPPTView iOS開發 移動開發

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

image


框架特性 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()
    }

項目主頁:http://www.baiduhome.net/lib/view/home/1435130213591

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!