From 31b6be2dfcc5a7e9300c90b2216dbd579153c3b0 Mon Sep 17 00:00:00 2001
From: younger_times <841720330@qq.com>
Date: 星期一, 10 七月 2023 19:22:00 +0800
Subject: [PATCH] 新增

---
 WanPai/Common/View/CommonBannerView.swift |  378 +++++++++++++++++++++++++++---------------------------
 1 files changed, 189 insertions(+), 189 deletions(-)

diff --git a/WanPai/Common/View/CommonBannerView.swift b/WanPai/Common/View/CommonBannerView.swift
index 4b649ac..2af70e0 100644
--- a/WanPai/Common/View/CommonBannerView.swift
+++ b/WanPai/Common/View/CommonBannerView.swift
@@ -8,192 +8,192 @@
 import UIKit
 import SDWebImage
 
-class CommonBannerView: UIView,UIScrollViewDelegate {
-
-        //图⽚⽔平放置到scrollView上
-    private var scrollView:UIScrollView = UIScrollView()
-        //⼩圆点标识
-    private var pageControl:UIPageControl = UIPageControl()
-    private var imageViews:Array = Array<UIImageView>()
-
-
-        //图⽚集合
-    private var images:Array<String> = []
-    private var type:ImageType?
-
-    private var width:CGFloat = 0
-    private var height:CGFloat = 0
-
-    private var currIndex = 0
-    private var clickBlock :(Int)->Void = {index in}
-
-    private var timer:Timer?
-
-        // 默认⾃动播放 设置为false只能⼿动滑动
-    var isAuto = true
-        // 轮播间隔时间 默认6秒可以⾃⼰修改
-    var interval:Double = 6
-
-    private var startOffsetX:CGFloat = 0
-
-    override func layoutSubviews() {
-        super.layoutSubviews()
-    }
-
-    public func setImages(images:Array<String>,type:ImageType
-                          = .Image,imageClickBlock:@escaping (Int) -> Void) {
-        self.type = type
-        self.images = images
-        self.clickBlock = imageClickBlock
-        self.initLayout()
-    }
-
-    private func initLayout(){
-        if(self.images.count == 0){
-            return
-        }
-
-        width = self.bounds.width
-        height = self.bounds.height
-
-        scrollView.frame = self.bounds
-        scrollView.contentSize = CGSize(width:width * CGFloat(images.count +
-                                                              2),height:height)
-        scrollView.contentOffset = CGPoint(x:width,y:0)
-        scrollView.isUserInteractionEnabled = true
-        scrollView.isPagingEnabled = true
-        scrollView.showsHorizontalScrollIndicator = false
-        scrollView.delegate = self
-        self.addSubview(scrollView)
-
-        var image = UIImageView()
-        image.frame = CGRect(x:0,y:0,width:width,height:height)
-        image.contentMode = .scaleToFill
-        image.isUserInteractionEnabled = true
-        setImage(image: image, index: images.count - 1)
-        scrollView.addSubview(image)
-        for i in 1 ... images.count{
-            let image = UIImageView()
-            image.frame = CGRect(x:width *
-                                 CGFloat(i),y:0,width:width,height:height)
-            image.contentMode = .scaleToFill
-            image.isUserInteractionEnabled = true
-            scrollView.addSubview(image)
-            setImage(image: image, index: i - 1)
-            addTapGesWithImage(image: image)
-        }
-        image = UIImageView()
-        image.frame = CGRect(x:width * CGFloat(images.count +
-                                               1),y:0,width:width,height:height)
-        image.contentMode = .scaleToFill
-        image.isUserInteractionEnabled = true
-        scrollView.addSubview(image)
-        setImage(image: image, index: 0)
-
-        pageControl.center = CGPoint(x:width/2,y:height - CGFloat(15))
-        pageControl.isEnabled = true
-        pageControl.numberOfPages = images.count
-        pageControl.currentPageIndicatorTintColor = UIColor.green
-        pageControl.pageIndicatorTintColor = UIColor.gray
-        pageControl.isUserInteractionEnabled = false
-        self.addSubview(pageControl)
-
-            //当前显示的只有 center_image 其他两个只是⽤来增加滑动时效果⽽已,不
-            //addTapGesWithImage(image: center_image)
-        if(isAuto){
-            openTimer()
-        }
-        setCurrent(currIndex: 0)
-    }
-
-    private func setImage(image:UIImageView,index:Int){
-        if(type == .Image){
-            image.image = UIImage.init(named:images[index])
-        }else{
-            image.sd_setImage(with: URL(string: images[index]))
-        }
-    }
-
-    func setCurrent(currIndex:Int) {
-        if(currIndex < 0){
-            self.currIndex = images.count - 1
-        }else{
-            self.currIndex = currIndex
-        }
-        pageControl.currentPage = self.currIndex
-        scrollView.setContentOffset(CGPoint(x:width * CGFloat(self.currIndex +
-                                                              1),y:0), animated: false)
-    }
-
-        //给图⽚添加点击⼿势
-    private func addTapGesWithImage(image:UIImageView) {
-        let tap = UITapGestureRecognizer(target: self, action: #selector(tap(_:)))
-        image.isUserInteractionEnabled = true //让控件可以触发交互事件
-        image.contentMode = .scaleToFill
-            // image.clipsToBounds = true //超出⽗控件的部分不显示
-        image.addGestureRecognizer(tap)
-    }
-
-        //点击图⽚,调⽤block
-    @objc func tap(_ ges:UITapGestureRecognizer) {
-        clickBlock((ges.view?.tag)!)
-    }
-
-    func scrollViewDidScroll(_ scrollView: UIScrollView) {
-
-    }
-
-    func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
-        startOffsetX = scrollView.contentOffset.x
-        closeTimer()
-    }
-
-    func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate
-                                  decelerate: Bool) {
-    }
-
-    func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
-        if(scrollView.contentOffset.x > startOffsetX){
-            currIndex = (currIndex + 1) % images.count
-        }else{
-            currIndex = (currIndex - 1) % images.count
-        }
-        setCurrent(currIndex: currIndex)
-        openTimer()
-    }
-
-    func openTimer(){
-        if(isAuto){
-            closeTimer()
-            timer = Timer.scheduledTimer(timeInterval: interval, target: self, selector:
-                                            #selector(startAutoScroll), userInfo: nil, repeats: true)
-        }
-    }
-
-    func closeTimer(){
-        if(timer != nil){
-            timer?.invalidate()
-            timer = nil
-        }
-    }
-
-
-    @objc func startAutoScroll(){
-        if(isDisplayInScreen()){
-            setCurrent(currIndex: (currIndex + 1) % images.count)
-        }
-    }
-
-    func isDisplayInScreen() -> Bool{
-        if(self.window == nil){
-            return false
-        }
-        return true
-    }
-
-}
-enum ImageType{
-    case Image //本地图⽚
-    case URL //URL
-
-}
+//class CommonBannerView: UIView,UIScrollViewDelegate {
+//
+//        //图⽚⽔平放置到scrollView上
+//    private var scrollView:UIScrollView = UIScrollView()
+//        //⼩圆点标识
+//    private var pageControl:UIPageControl = UIPageControl()
+//    private var imageViews:Array = Array<UIImageView>()
+//
+//
+//        //图⽚集合
+//    private var images:Array<String> = []
+//    private var type:ImageType?
+//
+//    private var width:CGFloat = 0
+//    private var height:CGFloat = 0
+//
+//    private var currIndex = 0
+//    private var clickBlock :(Int)->Void = {index in}
+//
+//    private var timer:Timer?
+//
+//        // 默认⾃动播放 设置为false只能⼿动滑动
+//    var isAuto = true
+//        // 轮播间隔时间 默认6秒可以⾃⼰修改
+//    var interval:Double = 6
+//
+//    private var startOffsetX:CGFloat = 0
+//
+//    override func layoutSubviews() {
+//        super.layoutSubviews()
+//    }
+//
+//    public func setImages(images:Array<String>,type:ImageType
+//                          = .Image,imageClickBlock:@escaping (Int) -> Void) {
+//        self.type = type
+//        self.images = images
+//        self.clickBlock = imageClickBlock
+//        self.initLayout()
+//    }
+//
+//    private func initLayout(){
+//        if(self.images.count == 0){
+//            return
+//        }
+//
+//        width = self.bounds.width
+//        height = self.bounds.height
+//
+//        scrollView.frame = self.bounds
+//        scrollView.contentSize = CGSize(width:width * CGFloat(images.count +
+//                                                              2),height:height)
+//        scrollView.contentOffset = CGPoint(x:width,y:0)
+//        scrollView.isUserInteractionEnabled = true
+//        scrollView.isPagingEnabled = true
+//        scrollView.showsHorizontalScrollIndicator = false
+//        scrollView.delegate = self
+//        self.addSubview(scrollView)
+//
+//        var image = UIImageView()
+//        image.frame = CGRect(x:0,y:0,width:width,height:height)
+//        image.contentMode = .scaleToFill
+//        image.isUserInteractionEnabled = true
+//        setImage(image: image, index: images.count - 1)
+//        scrollView.addSubview(image)
+//        for i in 1 ... images.count{
+//            let image = UIImageView()
+//            image.frame = CGRect(x:width *
+//                                 CGFloat(i),y:0,width:width,height:height)
+//            image.contentMode = .scaleToFill
+//            image.isUserInteractionEnabled = true
+//            scrollView.addSubview(image)
+//            setImage(image: image, index: i - 1)
+//            addTapGesWithImage(image: image)
+//        }
+//        image = UIImageView()
+//        image.frame = CGRect(x:width * CGFloat(images.count +
+//                                               1),y:0,width:width,height:height)
+//        image.contentMode = .scaleToFill
+//        image.isUserInteractionEnabled = true
+//        scrollView.addSubview(image)
+//        setImage(image: image, index: 0)
+//
+//        pageControl.center = CGPoint(x:width/2,y:height - CGFloat(15))
+//        pageControl.isEnabled = true
+//        pageControl.numberOfPages = images.count
+//        pageControl.currentPageIndicatorTintColor = UIColor.green
+//        pageControl.pageIndicatorTintColor = UIColor.gray
+//        pageControl.isUserInteractionEnabled = false
+//        self.addSubview(pageControl)
+//
+//            //当前显示的只有 center_image 其他两个只是⽤来增加滑动时效果⽽已,不
+//            //addTapGesWithImage(image: center_image)
+//        if(isAuto){
+//            openTimer()
+//        }
+//        setCurrent(currIndex: 0)
+//    }
+//
+//    private func setImage(image:UIImageView,index:Int){
+//        if(type == .Image){
+//            image.image = UIImage.init(named:images[index])
+//        }else{
+//            image.sd_setImage(with: URL(string: images[index]))
+//        }
+//    }
+//
+//    func setCurrent(currIndex:Int) {
+//        if(currIndex < 0){
+//            self.currIndex = images.count - 1
+//        }else{
+//            self.currIndex = currIndex
+//        }
+//        pageControl.currentPage = self.currIndex
+//        scrollView.setContentOffset(CGPoint(x:width * CGFloat(self.currIndex +
+//                                                              1),y:0), animated: false)
+//    }
+//
+//        //给图⽚添加点击⼿势
+//    private func addTapGesWithImage(image:UIImageView) {
+//        let tap = UITapGestureRecognizer(target: self, action: #selector(tap(_:)))
+//        image.isUserInteractionEnabled = true //让控件可以触发交互事件
+//        image.contentMode = .scaleToFill
+//            // image.clipsToBounds = true //超出⽗控件的部分不显示
+//        image.addGestureRecognizer(tap)
+//    }
+//
+//        //点击图⽚,调⽤block
+//    @objc func tap(_ ges:UITapGestureRecognizer) {
+//        clickBlock((ges.view?.tag)!)
+//    }
+//
+//    func scrollViewDidScroll(_ scrollView: UIScrollView) {
+//
+//    }
+//
+//    func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
+//        startOffsetX = scrollView.contentOffset.x
+//        closeTimer()
+//    }
+//
+//    func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate
+//                                  decelerate: Bool) {
+//    }
+//
+//    func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
+//        if(scrollView.contentOffset.x > startOffsetX){
+//            currIndex = (currIndex + 1) % images.count
+//        }else{
+//            currIndex = (currIndex - 1) % images.count
+//        }
+//        setCurrent(currIndex: currIndex)
+//        openTimer()
+//    }
+//
+//    func openTimer(){
+//        if(isAuto){
+//            closeTimer()
+//            timer = Timer.scheduledTimer(timeInterval: interval, target: self, selector:
+//                                            #selector(startAutoScroll), userInfo: nil, repeats: true)
+//        }
+//    }
+//
+//    func closeTimer(){
+//        if(timer != nil){
+//            timer?.invalidate()
+//            timer = nil
+//        }
+//    }
+//
+//
+//    @objc func startAutoScroll(){
+//        if(isDisplayInScreen()){
+//            setCurrent(currIndex: (currIndex + 1) % images.count)
+//        }
+//    }
+//
+//    func isDisplayInScreen() -> Bool{
+//        if(self.window == nil){
+//            return false
+//        }
+//        return true
+//    }
+//
+//}
+//enum ImageType{
+//    case Image //本地图⽚
+//    case URL //URL
+//
+//}

--
Gitblit v1.7.1