Этого легко достичь, используя QuickLook от Apple, так как он отлично подходит для многих расширений и коллекций изображений.
Редактирование: большая часть необходимых функций встроена в QLPreviewController
let previewController = QLPreviewController()
previewController.dataSource = self
self.present(previewController, animated: true, completion: nil)
Источником данных является любой класс, соответствующий протоколу QLPreviewControllerDataSource
Здесь - это видео-руководство Apple о том, как этого легко достичь
Редактировать: Эта часть входит в функцию previewItemAt
guard let url = Bundle.main.url(forResource: "imageName", withExtension: "jpg")
else {
fatalError("Could not load imageName.jpg")
}
return url as QLPreviewItem