iOS-SwiftiOS Developer首页投稿(暂停使用,暂停投稿)

Swift轮播图的实现(持续更新)

2016-07-24  本文已影响223人  石头剪刀布艳艳

1.懒加载scrollview

//懒加载scrollview
    lazy var scrollView:UIScrollView = {
        let tempScrollView = UIScrollView(frame: CGRectMake(0,0,UIScreen.mainScreen().bounds.size.width,150))
        tempScrollView.contentSize = CGSizeMake(6 * screenWidth,150)
        tempScrollView.pagingEnabled = true
        tempScrollView.delegate = self
        tempScrollView.bounces = false
        tempScrollView.showsHorizontalScrollIndicator = false
        return tempScrollView
    }()```
2.通过网络数据请求的数据给轮播图加载图片

private func addScrollView() {
NetWorkTool.shareNetWorkTool.httpRequest(.GET, urlString: Macro.homePageHeaderURL, parameter: nil) {(respondeData, error) -> () in

        guard let receiveObject = respondeData else{
            print("轮播图error\(error)")
            return
        }
        
        var imageArray = [String]()
        for dict in receiveObject["pic"] as! [[String:AnyObject]]{
            imageArray.append(dict["randpic_iphone6"]! as! String)
        }
        //轮播图,最后一张作为假图,跟第0张一模一样
        //0 1 2 3 4 0
        imageArray.append(imageArray[0])
        //            遍历数组创建UIImageView并且添加到scrollView上面
        for (index,value) in imageArray.enumerate(){
            let imageView = UIImageView(frame: CGRectMake(CGFloat(index)*screenWidth, 0, screenWidth, 150))
            imageView.sd_setImageWithURL(NSURL(string: value))
            self.scrollView.addSubview(imageView)
        }
        
        self.tableView.tableHeaderView = self.scrollView
    }
}
3.设置一个定时器,和定时器触发的方法
    NSTimer.scheduledTimerWithTimeInterval(3.5, target: self, selector:"turnToNext", userInfo: nil, repeats: true)
4.定时器触发的方法,是图片实现轮播
func turnToNext(){
    let index = scrollView.contentOffset.x/screenWidth
    scrollView.setContentOffset(CGPointMake((index+1)*screenWidth, 0), animated: true)
}
上一篇 下一篇

猜你喜欢

热点阅读