{"id":1520,"url":"https://github.com/3lvis/Viewer","last_synced_at":"2025-08-02T04:31:59.792Z","repository":{"id":56926031,"uuid":"46755661","full_name":"3lvis/Viewer","owner":"3lvis","description":"Image viewer (or Lightbox) with support for local and remote videos and images","archived":true,"fork":false,"pushed_at":"2020-10-04T08:39:26.000Z","size":40623,"stargazers_count":534,"open_issues_count":5,"forks_count":56,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-05-25T06:17:27.104Z","etag":null,"topics":["imageviewer","ios","lightbox","swift","viewer"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/3lvis.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":["3lvis"]}},"created_at":"2015-11-23T23:59:42.000Z","updated_at":"2025-05-22T01:20:40.000Z","dependencies_parsed_at":"2022-08-21T06:20:56.520Z","dependency_job_id":null,"html_url":"https://github.com/3lvis/Viewer","commit_stats":null,"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"purl":"pkg:github/3lvis/Viewer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3lvis%2FViewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3lvis%2FViewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3lvis%2FViewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3lvis%2FViewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/3lvis","download_url":"https://codeload.github.com/3lvis/Viewer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3lvis%2FViewer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268334614,"owners_count":24233793,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["imageviewer","ios","lightbox","swift","viewer"],"created_at":"2024-01-05T20:15:48.399Z","updated_at":"2025-08-02T04:31:55.811Z","avatar_url":"https://github.com/3lvis.png","language":"Swift","funding_links":["https://github.com/sponsors/3lvis"],"categories":["Media","Libs","Images [🔝](#readme)"],"sub_categories":["Image","Images"],"readme":"![Viewer](https://raw.githubusercontent.com/3lvis/Viewer/master/GitHub/viewer-logo-2.jpg)\n\n\u003cdiv align = \"center\"\u003e\n  \u003ca href=\"https://cocoapods.org/pods/Viewer\"\u003e\n    \u003cimg src=\"https://img.shields.io/cocoapods/v/Viewer.svg?style=flat\" /\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://github.com/3lvis/Viewer\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat\" /\u003e\n  \u003c/a\u003e\n\n  \u003cimg src=\"https://img.shields.io/badge/platforms-iOS%20%7C%20tvOS%20-lightgrey.svg\" /\u003e\n\n  \u003ca href=\"https://cocoapods.org/pods/Viewer\"\u003e\n    \u003cimg src=\"https://img.shields.io/cocoapods/l/Viewer.svg?style=flat\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n## Table of Contents\n\n* [Features](#features)\n  * [Focus](#focus)\n  * [Browse](#browse)\n  * [Rotation](#rotation)\n  * [Zoom](#zoom)\n  * [tvOS](#tvos)\n* [Setup](#setup)\n* [Installation](#installation)\n* [License](#license)\n* [Author](#author)\n\n## Features\n\n### Focus\n\nSelect an image to enter into lightbox mode.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/3lvis/Viewer/raw/master/GitHub/focus.gif\"/\u003e\n\u003c/p\u003e\n\n### Browse\n\nOpen an image or video to browse.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/3lvis/Viewer/raw/master/GitHub/play.gif\"/\u003e\n\u003c/p\u003e\n\n### Rotation\n\nPortrait or landscape, it just works.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/3lvis/Viewer/raw/master/GitHub/rotation.gif\"/\u003e\n\u003c/p\u003e\n\n### Zoom\n\nPinch-to-zoom works seamlessly in images.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/3lvis/Viewer/master/GitHub/zoom.gif\"/\u003e\n\u003c/p\u003e\n\n### tvOS\n\nSupport for the Apple TV.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/3lvis/Viewer/master/GitHub/tv.gif\"/\u003e\n\u003c/p\u003e\n\n## Setup\n\nYou'll need a collection of items that comform to the [Viewable protocol](https://github.com/3lvis/Viewer/blob/master/Source/Viewable.swift). Then, from your UICollectionView:\n\n```swift\nimport Viewer\n\noverride public func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {\n    guard let collectionView = self.collectionView else { return }\n\n    let viewerController = ViewerController(initialIndexPath: indexPath, collectionView: collectionView)\n    viewerController.dataSource = self\n    presentViewController(viewerController, animated: false, completion: nil)\n}\n\nextension CollectionController: ViewerControllerDataSource {\n    func viewerController(_ viewerController: ViewerController, viewableAt indexPath: IndexPath) -\u003e Viewable {\n        return photos[indexPath.row]\n    }\n}\n```\n\n## Installation\n\n### CocoaPods\n\n```ruby\npod 'Viewer'\n```\n\n### Carthage\n\n```ruby\ngithub \"3lvis/Viewer\"\n```\n\n## License\n\n**Viewer** is available under the MIT license. See the [LICENSE](/LICENSE.md) file for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3lvis%2FViewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F3lvis%2FViewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3lvis%2FViewer/lists"}