//
|
// CommonBannerView.swift
|
// WanPai
|
//
|
// Created by 无故事王国 on 2023/6/30.
|
//
|
|
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
|
//
|
//}
|