說(shuō)明:
最近開始新的項(xiàng)目了轻姿,不過(guò)這次是以為Swift做為新項(xiàng)目的開發(fā)語(yǔ)言,而不是OC了犁珠,然后在項(xiàng)目中有一些地方用到了
無(wú)限輪播器
,看了看以前的代碼都是用OC去寫互亮,這里呢我簡(jiǎn)易的封裝了一個(gè)犁享,如果能幫的上大家的忙,那是在好不過(guò)了豹休,如果不能炊昆,就當(dāng)自己練練手也行,至于無(wú)限輪播器
它是什么威根,我這里就不作簡(jiǎn)單的介紹了凤巨,上圖為例:
image.gif
代碼
1、我們先不說(shuō)別的先用上它在說(shuō)吧洛搀,這里的話敢茁,我直接創(chuàng)建一個(gè)swift項(xiàng)目,然后通過(guò)CocoaPods集成
SVProgressHUD
,SDWebImage
這兩個(gè)框架留美,后面有用到彰檬,然后在橋接頭文件中導(dǎo)入頭文件,在info.plist文件中設(shè)置http請(qǐng)求谎砾,因?yàn)槲覀兒竺媸强梢酝ㄟ^(guò)字符串
逢倍,UIImage
,NSUrl
這三種類型來(lái)請(qǐng)求圖片的景图,配置這些之后较雕,進(jìn)入ViewController
,這里我是直接使用項(xiàng)目創(chuàng)建的原始狀態(tài)症歇,沒(méi)有去創(chuàng)建控制器或一些其他的郎笆,代碼如下:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
addChildScorll()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
private func addChildScorll(){
//1、創(chuàng)建無(wú)限輪播器 設(shè)置frame
let scroll = InifiteScrollView(frame: CGRectMake(0,0,view.frame.size.width,200))
//2忘晤、添加圖片數(shù)據(jù) 可以看到這里的圖片有事URL也有是UIImage也有直接為字符串的
scroll.images = [
NSURL(string: "https://picjumbo.imgix.net/HNCK2415.jpg?q=40&w=1650&sharp=30")!,
NSURL(string: "https://i0.wp.com/picjumbo.com/wp-content/uploads/HNCK5165.jpg?zoom=2&resize=259%2C148&ssl=1")!,
NSURL(string: "https://i1.wp.com/picjumbo.com/wp-content/uploads/HNCK5058.jpg?zoom=2&resize=259%2C148&ssl=1")!,
UIImage(named: "background_1")!,
"background_2"
]
//3宛蚓、設(shè)置頁(yè)腳的顏色
scroll.pageControl.currentPageIndicatorTintColor = UIColor.redColor()
scroll.pageControl.pageIndicatorTintColor = UIColor.grayColor()
//設(shè)置間斷時(shí)間 默認(rèn)為2秒
// scroll.interval = 3
//設(shè)置滾動(dòng)方向 默認(rèn)為左右
// scroll.scrolldirection = .InifiteScrollDirectionVertical
//設(shè)置代理
scroll.delegate = self
//4、添加到視圖上去
view.addSubview(scroll)
}
}
2设塔、如果是需要監(jiān)聽圖片的點(diǎn)擊那么你就需要實(shí)現(xiàn)下面的代碼了(其實(shí)這只是一個(gè)協(xié)議而已凄吏,你監(jiān)聽就OK了):
extension ViewController:InifiteScrollViewDelegate{
func inifiteScrollView(inifiteScrollView: InifiteScrollView, didClickImageAtIndex: Int) {
SVProgressHUD.showWithStatus("點(diǎn)擊了第\(didClickImageAtIndex+1)張圖片")
let delayInSeconds = 1.0
let popTime = dispatch_time(DISPATCH_TIME_NOW,
Int64(delayInSeconds * Double(NSEC_PER_SEC))) // 1
dispatch_after(popTime, dispatch_get_main_queue()) {
SVProgressHUD.dismiss()
}
}
}
其實(shí)用起來(lái)就是這樣的簡(jiǎn)單,Demo地址
本章到此結(jié)束
歡迎各位碼友隨意轉(zhuǎn)載并指正