1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- //
- // 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
- import CocoaLumberjack
- 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.fileDownloadNoStreamIdQuery, parameter: ["##id##": taskImageshowEntity.picId as AnyObject])
- DDLogDebug("hot image url : \(String(describing: imageURL))")
- 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)
- }
- }
- }
|