swift4 ImageViewerで画像を拡大表示
今回やりたい画面はこんな感じ
画像をタップしたら拡大するよくあるやつ
ちょっとわかりずらいけど
タップしたら → 拡大
https://github.com/Krisiacik/ImageViewer
このライブラリ使った
サンプルコードがちょっとわかりずらかったので、シンプルなサンプルコードをメモしておく
import UIKit import ImageViewer class ViewController: UIViewController, GalleryItemsDataSource { var galleyItem: GalleryItem! override func viewDidLoad() { super.viewDidLoad() // 拡大する画像をGalleryItemにセット let image = UIImage(named: "sample.jpg") galleyItem = GalleryItem.image{ $0(image) } // 画像(拡大前の)を表示 let imageView = UIImageView(frame: CGRect(x: 100, y: 100, width: view.frame.width - 100*2, height: 200)) imageView.image = image imageView.contentMode = UIImageView.ContentMode.scaleAspectFill view.addSubview(imageView) // 画像をタップしたら拡大 imageView.isUserInteractionEnabled = true let recognizer = UITapGestureRecognizer(target: self, action: #selector(self.onTap(_:))) imageView.addGestureRecognizer(recognizer) } @objc func onTap(_ sender: UIImageView) { let galleryViewController = GalleryViewController(startIndex: 0, itemsDataSource: self, configuration: [.deleteButtonMode(.none), .seeAllCloseButtonMode(.none), .thumbnailsButtonMode(.none)]) self.present(galleryViewController, animated: true, completion: nil) } // MARK: GalleryItemsDataSource func itemCount() -> Int { return 1 } func provideGalleryItem(_ index: Int) -> GalleryItem { return galleyItem } }
以上です