{"id":28762322,"url":"https://github.com/inaka/pictureviewmaster","last_synced_at":"2025-08-12T05:15:01.857Z","repository":{"id":62450730,"uuid":"51171938","full_name":"inaka/PictureViewMaster","owner":"inaka","description":"Interactive image projector.","archived":false,"fork":false,"pushed_at":"2017-04-21T13:11:11.000Z","size":4204,"stargazers_count":8,"open_issues_count":2,"forks_count":1,"subscribers_count":37,"default_branch":"master","last_synced_at":"2025-08-02T20:17:10.399Z","etag":null,"topics":["image-drag","image-enlarger","image-manipulation","image-rotator","image-zoom","swift","uiimage"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/inaka.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-02-05T20:25:43.000Z","updated_at":"2018-11-26T12:59:57.000Z","dependencies_parsed_at":"2022-11-02T01:01:34.860Z","dependency_job_id":null,"html_url":"https://github.com/inaka/PictureViewMaster","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/inaka/PictureViewMaster","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inaka%2FPictureViewMaster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inaka%2FPictureViewMaster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inaka%2FPictureViewMaster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inaka%2FPictureViewMaster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/inaka","download_url":"https://codeload.github.com/inaka/PictureViewMaster/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inaka%2FPictureViewMaster/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270005591,"owners_count":24510939,"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-12T02:00:09.011Z","response_time":80,"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":["image-drag","image-enlarger","image-manipulation","image-rotator","image-zoom","swift","uiimage"],"created_at":"2025-06-17T08:07:53.738Z","updated_at":"2025-08-12T05:15:01.833Z","avatar_url":"https://github.com/inaka.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"## PictureViewMaster\nInteractive image projector.\n\n\n```\nThis library supports Swift 2.3\nSwift 2.3 is currently in branch master.\n```\n\n### Abstract\n\nThis is a library that provides an UIImageView subclass with the capability of enlarge its image so the user can rotate it, drag it and zoom it.\n\n### How to use it?\n\nInstead of using regulars UIImageView objects use PictureMasterImageView. They'll automatically add a gesture recognizer that will let its delegate knows when the user tap on it. Then, on the delegate callback, implement the PictureMasterViewController by instantiating an object and giving it the UIImage and/or the gestures you want to support (All of them by default.). It will bring a view inside your current view with the large image and all the gesture recognizers, plus the dismissing functionality.\nNOTE: PictureMasterImageView is not actually required. You can just pass the UIImage you want to the `PictureMasterViewController` and it will also works. The UIImage subclass is just to have a nice and easy way to have clickable and enlargable UIImageViews. \n\n### Install\n\nDrag THESE files to your project :\n`PictureMasterViewController.xib`\n`PictureMasterViewController.swift`\n`PictureMasterImageView.swift`\nand you are ready to go. \nOr you can use CocoaPods:\n\n```\npod 'PictureMasterView'\n\n```\n\nThen import the library:\n\n```\nimport PictureMasterView\n```\n\n#### USAGE:\n\n```swift\n//Create an PictureMasterImageView object and assign its delegate\nlet sampleImage : PictureMasterImageView = PictureMasterImageView(image: UIImage(named:\"sampleImage\"), andDelegate:self)\n//Or just add it on the interface builder, add a reference and assign a the delegate\nself.ibSampleImage.delegate = self\n\n//Then conform the the PictureMasterImageViewDelegate\nfunc pictureMasterImageViewDidReceiveTap (pictureMasterImageView: PictureMasterImageView) {\nlet masterViewController: PictureMasterViewController = PictureMasterViewController(nibName: \"PictureMasterViewController\", bundle: nil)\n// Initialized with custom gestures\nmasterViewController.showImage(pictureMasterImageView.image!, inViewController:self, withGestures: [.Rotate, .Zoom, .Drag])\n// Initialized with all gestures enabled\nmasterViewController.showImage(pictureMasterImageView.image!, inViewController:self)\n}\n```\n\nAnd that's it. PictureMasterView will take care of showing himself and dismissing himself too because we all are lazy programers and... \n![2015-03-17](http://25.media.tumblr.com/tumblr_m5kz3dTnPI1rp5220o1_500.jpg)\n\n\n## Older Versions Support\n\n- As of its `2.0` release, this library works with **Swift 3.0**\n- If you look for older languages version support, you can check out:\n- `1.1` release for Swift 2.3 support.\n- `1.0` release for Swift 2.2 support.\n\n\n### Contact Us\nFor **questions** or **general comments** regarding the use of this library, please use our public\n[hipchat room](http://inaka.net/hipchat).\n\nIf you find any **bugs** or have a **problem** while using this library, please [open an issue](https://github.com/inaka/PictureViewMaster-iOS/issues/new) in this repo (or a pull request :)).\n\nAnd you can check all of our open-source projects at [inaka.github.io](http://inaka.github.io)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finaka%2Fpictureviewmaster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finaka%2Fpictureviewmaster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finaka%2Fpictureviewmaster/lists"}