                                height: view.bounds.size.height - Constants.margin * 2)
         view.addSubview(content)
 
-        let views: [UIView] = [imageViewAspectFill, imageViewAspectFit, imageViewFill]
+        let views: [UIView] = allImages.map { $0.view }
         let count = CGFloat(views.count)
         let height = (content.frame.height - Constants.spacing * (count - 1)) / count
 

        }
    }

    @objc func didTapImage(sender: UITapGestureRecognizer) {
        guard let imageView = sender.view as? UIImageView,
            let image = imageView.image
            else { return }

        let model = MediaViewerImage(image: image, sourceImageView: imageView, infoOverlayViewClass: MediaViewerAuthorInfoOverlayView.self)
        model.overlayInfoModel = MediaViewerAuthorInfoOverlayViewModel(authorImageURL: nil, authorTitle: "John Cena", datePictureWasTaken: Date())

        let viewer = MediaViewer(image: model)
        viewer.tintColor = .blue
        viewer.present()
    }

import H19MediaViewer

class ViewController: UIViewController {
    private struct Media {
        let view: UIImageView
        let model: MediaViewerImageModel
    }

    private lazy var imageViewAspectFill: Media = {
        let view = UIImageView(image: UIImage(named: "vampeta")!)
        view.contentMode = .scaleAspectFill
        let overlay = MediaViewerAuthorInfoOverlayViewModel(authorImageURL: nil,
                                                          authorTitle: "Hulk Hogan",
                                                          datePictureWasTaken: Date())
        let model = MediaViewerImage(image: view.image,
                                     sourceImageView: view,
                                     infoOverlayViewClass: MediaViewerAuthorInfoOverlayView.self)
        model.overlayInfoModel = overlay
        return Media(view: view, model: model)
    }()

    private lazy var imageViewAspectFit: Media = {
        let view = UIImageView(image: UIImage(named: "vampeta")!)
        view.contentMode = .scaleAspectFit
        let overlay = MediaViewerAuthorInfoOverlayViewModel(authorImageURL: nil,
                                                          authorTitle: "The Undertaker",
                                                          datePictureWasTaken: Date())
        let model = MediaViewerImage(image: view.image,
                                     sourceImageView: view,
                                     infoOverlayViewClass: MediaViewerAuthorInfoOverlayView.self)
        model.overlayInfoModel = overlay
        return Media(view: view, model: model)
    }()

    private lazy var imageViewFill: Media = {
        let view = UIImageView(image: UIImage(named: "vampeta")!)
        view.contentMode = .scaleToFill
        let overlay = MediaViewerAuthorInfoOverlayViewModel(authorImageURL: nil,
                                                          authorTitle: "John Cena",
                                                          datePictureWasTaken: Date())
        let model = MediaViewerImage(image: view.image,
                                     sourceImageView: view,
                                     infoOverlayViewClass: MediaViewerAuthorInfoOverlayView.self)
        model.overlayInfoModel = overlay
        return Media(view: view, model: model)
    }()

    private lazy var imageViewMultiple: Media = {
        let view = UIImageView(image: UIImage(named: "vampeta")!)
        view.contentMode = .scaleAspectFill
        let overlay = MediaViewerAuthorInfoOverlayViewModel(authorImageURL: nil,
                                                          authorTitle: "Triple H",
                                                          datePictureWasTaken: Date())
        let model = MediaViewerImage(image: view.image,
                                     sourceImageView: view,
                                     infoOverlayViewClass: MediaViewerAuthorInfoOverlayView.self)
        model.overlayInfoModel = overlay
        return Media(view: view, model: model)
    }()

    private lazy var allImages: [Media] = {
        [imageViewAspectFill, imageViewAspectFit, imageViewFill, imageViewMultiple]
    }()

    private struct Constants {
        static let margin: CGFloat = 40
        static let spacing: CGFloat = 16
    }

