Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jpsim/jpsimagepickercontroller
A pixel-perfect clone of iOS 7's UIImagePickerController, with a few improvements.
https://github.com/jpsim/jpsimagepickercontroller
Last synced: 10 days ago
JSON representation
A pixel-perfect clone of iOS 7's UIImagePickerController, with a few improvements.
- Host: GitHub
- URL: https://github.com/jpsim/jpsimagepickercontroller
- Owner: jpsim
- License: mit
- Created: 2014-01-31T20:01:45.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2015-11-03T23:42:10.000Z (about 9 years ago)
- Last Synced: 2025-01-09T02:27:23.985Z (15 days ago)
- Language: Objective-C
- Homepage:
- Size: 646 KB
- Stars: 156
- Watchers: 9
- Forks: 34
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# JPSImagePickerController
A pixel-perfect clone of iOS 7's `UIImagePickerController`, with a few improvements. I built this because Apple's image picker is difficult to modify. Works on both iPad & iPhone.
![Screenshots](screenshots.png)
Features:
* Front/Back camera switching
* Flash on/off
* Taking pictures in multiple orientations
* Triggering a picture with the "volume up" hardware button
* Confirmation screen
* Zooming the image in the confirmation screen
* Displaying a message in the confirmation screen## Installation
### From CocoaPods
Add `pod 'JPSImagePickerController'` to your Podfile.
### Manually
Drag the `JPSImagePickerController` folder into your project and link the MediaPlayer and AVFoundation frameworks to your project.
## Usage
Just launch it modally and set its delegate:
```objective-c
JPSImagePickerController *imagePicker = [[JPSImagePickerController alloc] init];
imagePicker.delegate = self;
[self presentViewController:imagePicker animated:YES completion:nil];
```Its delegate can respond to the following methods:
```objective-c
// Called immediately after the picture was taken
- (void)picker:(JPSImagePickerController *)picker didTakePicture:(UIImage *)picture;
// Called immediately after the "Use" button was tapped
- (void)picker:(JPSImagePickerController *)picker didConfirmPicture:(UIImage *)picture;
// Called immediately after the "Cancel" button was tapped
- (void)pickerDidCancel:(JPSImagePickerController *)picker;
```See sample Xcode project for more examples on how to configure.
## TODO
* Display a box around the tapped area when tapping to focus.
* Per-element rotation of "flash", "camera switch" and "Cancel" buttons. This is tricky because we don't want our whole layout to change, just those buttons.
* Better camera switching animation. It's currently a bit janky.
* Full reproduction of `UIImagePickerController`'s flash control. i.e. expanding to see "Auto", "On" & "Off"## License
This project is under the MIT license.