麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Swift > 正文

swift實現(xiàn)自動輪播圖效果(UIScrollView+UIPageControl+Timer)

2020-03-09 17:44:10
字體:
供稿:網(wǎng)友

本文實例為大家分享了swift實現(xiàn)自動輪播圖效果的具體代碼,供大家參考,具體內(nèi)容如下

比較簡單,原理就不說了,這里只做記錄:

代碼如下:

1、準備

var pageControl:UIPageControl?  var myscrollView:UIScrollView?  var myTimer:Timer?  var mycurrentPage:NSInteger?      var courses = [    ["name":"first","pic":"1.jpeg"],    ["name":"second","pic":"2.jpeg"],    ["name":"third","pic":"3.jpeg"]  ]

2、內(nèi)容的添加

 //添加scrollview    self.addScrollView()    //添加圖片    self.addImages()    //添加pagecontrol    self.addPageControl()        mycurrentPage = 1        //添加定時器    self.setupTimer()

具體方法:

 

func addScrollView(){    self.myscrollView = UIScrollView()    self.myscrollView?.frame = CGRect(x:0,y:0,width:kScreenWidth,height:kScreenHeight/2)    self.myscrollView?.contentSize = CGSize(width:kScreenWidth*3,height:kScreenHeight/2)    self.myscrollView?.showsHorizontalScrollIndicator = false    self.myscrollView?.showsVerticalScrollIndicator = false    self.myscrollView?.scrollsToTop = false    self.myscrollView?.delegate = self    self.myscrollView?.isPagingEnabled = true    self.view.addSubview(self.myscrollView!)  }    func addImages(){    let size = self.myscrollView?.bounds.size    for (seq,course) in courses.enumerated() {      let page = UIView(frame:CGRect(x:0,y:64,width:kScreenWidth,height:kScreenHeight/2))      let imageView=UIImageView(image:UIImage(named:course["pic"]!))      imageView.frame = page.frame      page.addSubview(imageView)      page.backgroundColor = UIColor.gray      let lab1 = UILabel(frame:CGRect(x:15,y:kScreenHeight/2-100,width:kScreenWidth-30,height:40))      lab1.textAlignment = .center      lab1.backgroundColor = UIColor.red      lab1.text = course["name"]      page.addSubview(lab1)            page.frame = CGRect(x:CGFloat(seq)*(size?.width)!,y:0,width:(size?.width)!,height:(size?.height)!)      self.myscrollView?.addSubview(page)          }  }    func addPageControl(){    self.pageControl = UIPageControl(frame:CGRect(x:kScreenWidth/2-50/2,y:kScreenHeight/2-40,width:50,height:35))    self.pageControl?.backgroundColor = UIColor.blue    self.pageControl?.numberOfPages = courses.count    self.view.addSubview(self.pageControl!)  }    func setupTimer() {    self.myTimer = Timer.init(timeInterval: 2.0, target: self, selector: #selector(timerAction), userInfo: nil, repeats: true)    RunLoop.main.add(self.myTimer!, forMode: RunLoopMode.defaultRunLoopMode)    //    DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 2) { //      self.myTimer?.fire()//    }      }    func closeTimer(){    self.myTimer?.invalidate()    self.myTimer = nil  }    func timerAction(){    self.pageControl?.currentPage += mycurrentPage!        if self.pageControl?.currentPage == 0 || self.pageControl?.currentPage == 2 {      mycurrentPage = -mycurrentPage!    }    self.myscrollView?.contentOffset = CGPoint(x:CGFloat(kScreenWidth)*CGFloat((pageControl?.currentPage)!),y:0)  }

3、一些代理方法的實現(xiàn),手動拖動的時候,銷毀定時器,節(jié)省內(nèi)存

internal func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {    let page = Int(scrollView.contentOffset.x/scrollView.frame.size.width)    self.pageControl?.currentPage = page      }    func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {    self.closeTimer()  }    func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {    self.setupTimer()  }    func scrollViewWillBeginDecelerating(_ scrollView: UIScrollView) {    self.pageControl?.currentPage = Int(scrollView.contentOffset.x/kScreenWidth)  }

效果如下:

swift,輪播圖,UIScrollVie,UIPageControl,Timer

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到swift教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 草妞视频| 中国老女人一级毛片视频 | 龙的两根好大拔不出去h | 久久精品视频黄色 | 国产成人av免费看 | 日本a∨精品中文字幕在线 被啪羞羞视频在线观看 | 久久久久久久久久久久久久国产 | 精品国产一区二区三区久久久蜜月 | a一级黄 | 一级做a爰片性色毛片2021 | 欧美日韩国产中文字幕 | 免费国产自久久久久三四区久久 | 一级毛片播放 | 久久国产精品小视频 | 免费毛片在线视频 | 狠狠干夜夜操 | 一级黄色免费观看 | 全黄性性激高免费视频 | 日韩视频一区 | 黄色高清视频网站 | 免费看污视频在线观看 | 免费人成在线播放 | 越南一级黄色片 | 深夜精品福利 | 国产亚洲精品综合一区 | 亚洲综合精品 | 色av成人天堂桃色av | 久久伊人国产精品 | 成人短视频在线播放 | 1级黄色毛片 | 高清av免费 | 成人免费一区二区三区在线观看 | 亚洲国产高清视频 | 精品国产一区在线观看 | 成人免费毛片一 | 免费视频aaa | 99精彩视频在线观看 | 亚洲第一综合 | 日韩av日韩| 色网站免费观看 | 男人的天堂色偷偷 |