// // BigImageViewController.swift // LaserMethane // // Created by 203 on 2021/7/30. // import FSPagerView import Kingfisher import UIKit let PAGE_WIDTH = UIScreen.main.bounds.size.width let PAGE_HEIGHT = UIScreen.main.bounds.size.height class BigImageViewController: UIViewController, TransferImageDelegate { @IBOutlet var pageIndexLabel: UILabel! var pageIndex: Int? // 暂时不用 // 图片九宫格数据集 var imageArray: [String] = [] override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. let pagerView = FSPagerView(frame: view.frame) pagerView.dataSource = self pagerView.delegate = self pagerView.register(FSPagerViewCell.self, forCellWithReuseIdentifier: "cell") pagerView.transformer = FSPagerViewTransformer(type: .depth) view.addSubview(pagerView) pageIndexLabel.text = "\("(")\(String(describing: pageIndex))\("/")\(imageArray.count)\(")")" } // 接收上个页面传过来的值 func transfer(controller: UIViewController, dic: NSDictionary) { pageIndex = dic["row"] as? Int let images = dic["images"] as? String images?.components(separatedBy: ",").forEach { it in self.imageArray.append(it.replacingOccurrences(of: "\\", with: "/").combineImagePath()) } } } extension BigImageViewController: FSPagerViewDelegate { func pagerView(_ pagerView: FSPagerView, willDisplay cell: FSPagerViewCell, forItemAt index: Int) { pageIndexLabel.text = "\("(")\(index + 1)\("/")\(imageArray.count)\(")")" } } extension BigImageViewController: FSPagerViewDataSource { func numberOfItems(in pagerView: FSPagerView) -> Int { return imageArray.count } func pagerView(_ pagerView: FSPagerView, cellForItemAt index: Int) -> FSPagerViewCell { let cell = pagerView.dequeueReusableCell(withReuseIdentifier: "cell", at: index) let url = URL(string: imageArray[index]) cell.imageView?.contentMode = .scaleAspectFit cell.imageView?.kf.setImage(with: url) return cell } }