说明:
image.gif最近开始新的项目了,不过这次是以为Swift做为新项目的开发语言,而不是OC了,然后在项目中有一些地方用到了
无限轮播器
,看了看以前的代码都是用OC去写,这里呢我简易的封装了一个,如果能帮的上大家的忙,那是在好不过了,如果不能,就当自己练练手也行,至于无限轮播器
它是什么,我这里就不作简单的介绍了,上图为例:
代码
1、我们先不说别的先用上它在说吧,这里的话,我直接创建一个swift项目,然后通过CocoaPods集成
SVProgressHUD
,SDWebImage
这两个框架,后面有用到,然后在桥接头文件中导入头文件,在info.plist文件中设置http请求,因为我们后面是可以通过字符串
,UIImage
,NSUrl
这三种类型来请求图片的,配置这些之后,进入ViewController
,这里我是直接使用项目创建的原始状态,没有去创建控制器或一些其他的,代码如下:
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、创建无限轮播器 设置frame
let scroll = InifiteScrollView(frame: CGRectMake(0,0,view.frame.size.width,200))
//2、添加图片数据 可以看到这里的图片有事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、设置页脚的颜色
scroll.pageControl.currentPageIndicatorTintColor = UIColor.redColor()
scroll.pageControl.pageIndicatorTintColor = UIColor.grayColor()
//设置间断时间 默认为2秒
// scroll.interval = 3
//设置滚动方向 默认为左右
// scroll.scrolldirection = .InifiteScrollDirectionVertical
//设置代理
scroll.delegate = self
//4、添加到视图上去
view.addSubview(scroll)
}
}
2、如果是需要监听图片的点击那么你就需要实现下面的代码了(其实这只是一个协议而已,你监听就OK了):
extension ViewController:InifiteScrollViewDelegate{
func inifiteScrollView(inifiteScrollView: InifiteScrollView, didClickImageAtIndex: Int) {
SVProgressHUD.showWithStatus("点击了第\(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()
}
}
}
其实用起来就是这样的简单,Demo地址
本章到此结束
欢迎各位码友随意转载并指正
网友评论