swift4 AlamofireとImageViewでURLから取得した画像を拡大表示
http://kimagureneet.hatenablog.com/entry/2019/02/27/025807
ここでやったのとほとんど同じ。ちがいは以下だけ
・URLからの画像を表示
・キャッシュとか考えるとAlamofireImage使う
import UIKit import AlamofireImage import ImageViewer class ViewController: UIViewController, GalleryItemsDataSource { var galleyItem: GalleryItem! override func viewDidLoad() { super.viewDidLoad() let imageView = UIImageView(frame: CGRect(x: 100, y: 100, width: view.frame.width - 100*2, height: 200)) imageView.contentMode = UIImageView.ContentMode.scaleAspectFill view.addSubview(imageView) let url = "https://example.com/path/to/img" imageView.af_setImage(withURL: URL(string: url)!) galleyItem = GalleryItem.image{ $0(imageView.image) } 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 } }
ネット上の画像を表示することの方が多いのでコピペ用にメモした。以上です