| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- //
- // ImageSlidesShowView.swift
- // O2Platform
- //
- // Created by 刘振兴 on 2017/3/12.
- // Copyright © 2017年 zoneland. All rights reserved.
- //
- import UIKit
- import ImageSlideshow
- import Alamofire
- import AlamofireImage
- import AlamofireObjectMapper
- import ObjectMapper
- protocol ImageSlidesShowViewDelegate {
- func ImageSlidesShowClick(taskImageshowEntity:TaskImageshowEntity)
- }
- class ImageSlidesShowView: UIView {
-
- private lazy var imageSlideshow:ImageSlideshow = ImageSlideshow()
- var delegate:ImageSlidesShowViewDelegate?
-
- var imageshowEntitys:[TaskImageshowEntity] = [] {
-
- didSet {
- self.imageURLS.removeAll(keepingCapacity: true)
- imageshowEntitys.forEach { (taskImageshowEntity) in
- let imageURL = AppDelegate.o2Collect.generateURLWithAppContextKey(FileContext.fileContextKey, query: FileContext.fileDownloadPicItemIdQuery, parameter: ["##id##":taskImageshowEntity.picId as AnyObject])
- let afurl = O2AlamofireSource(urlString: imageURL!)
- self.imageURLS.append(afurl!)
- }
- imageSlideshow.setImageInputs(imageURLS)
-
- }
- }
-
- fileprivate var imageURLS:[O2AlamofireSource] = []
-
- override init(frame: CGRect) {
- super.init(frame: frame)
- self.imageSlideshow.frame = CGRect(x: 0, y: 0, width: frame.width, height: frame.height)
- self.imageSlideshow.backgroundColor = UIColor.white
- self.imageSlideshow.slideshowInterval = 6.0
- self.imageSlideshow.preload = .all
- self.imageSlideshow.pageControlPosition = PageControlPosition.insideScrollView
- self.imageSlideshow.pageControl.currentPageIndicatorTintColor = navbar_barTint_color
- self.imageSlideshow.pageControl.pageIndicatorTintColor = UIColor.lightGray
- self.imageSlideshow.contentScaleMode = UIView.ContentMode.scaleToFill
- self.imageSlideshow.addTapGesture(target: self, action: #selector(imageSlideshowClick(sender:)))
- self.addSubview(self.imageSlideshow)
- }
-
- required init?(coder aDecoder: NSCoder) {
- fatalError("init(coder:) has not been implemented")
- }
-
-
- @objc public func imageSlideshowClick(sender:ImageSlideshow?){
- //print(self.imageSlideshow.currentPage)
- if delegate != nil{
- let entity = self.imageshowEntitys[self.imageSlideshow.currentPage]
- self.delegate?.ImageSlidesShowClick(taskImageshowEntity: entity)
- }
-
- }
- }
|