TGCameraViewController alternatives and similar libraries
Based on the "Camera" category.
Alternatively, view TGCameraViewController alternatives based on common mentions on social networks and blogs.
-
ImagePicker
:camera: Reinventing the way ImagePicker works. -
YPImagePicker
๐ธ Instagram-like image picker & filters for iOS -
SCRecorder
iOS camera engine with Vine-like tap to record, animatable filters, slow motion, segments editing -
Fusuma
Instagram-like photo browser and a camera feature with a few line of code in Swift. -
PBJVision
๐ธ iOS Media Capture โ features touch-to-record video, slow motion, and photography -
ALCameraViewController
A camera view controller with custom image picker and image cropping. -
SwiftyCam
A Snapchat Inspired iOS Camera Framework written in Swift -
BarcodeScanner
:mag_right: A simple and beautiful barcode scanner. -
FastttCamera
Fasttt and easy camera framework for iOS with customizable filters -
CameraManager
Simple Swift class to provide all the configurations you need to create custom camera view in your app -
LLSimpleCamera
A simple, customizable camera control - video recorder for iOS. -
Cool-iOS-Camera
A fully customisable and modern camera implementation for iOS made with AVFoundation. -
iOS-Depth-Sampler
Code examples for Depth APIs in iOS -
RSBarcodes_Swift
1D and 2D barcodes reader and generators for iOS 8 with delightful controls. Now Swift. -
Lumina
A camera designed in Swift for easily integrating CoreML models - as well as image streaming, QR/Barcode detection, and many other features -
CameraEngine
๐๐ท Camera engine for iOS, written in Swift, above AVFoundation. ๐ -
CameraKit-iOS
Library for iOS Camera API. Massively increase performance and ease of use within your next iOS Project. -
ExyteMediaPicker
Customizable media picker written with SwiftUI -
DKCamera
A light weight & simple & easy camera for iOS by Swift. -
JVTImageFilePicker
Easy and beautiful way for a user to pick content, files or images. Written in Objective C -
CameraBackground
Show camera layer as a background to any UIView -
#<Sawyer::Resource:0x00007f091a669cf0>
From camera to album, in just 2 lines -
TakeASelfie
An iOS framework that uses the front camera, detects your face and takes a selfie. -
RAImagePicker
๐ธ iMessage-like, Image Picker Controller Provides custom features. -
MockImagePicker
Mock UIImagePickerController for testing camera based UI in simulator
WorkOS - The modern identity platform for B2B SaaS
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of TGCameraViewController or a related project?
README
:rotating_light: Warning
This repository is DEPRECATED and not maintained anymore.
Custom camera with AVFoundation. Beautiful, light and easy to integrate with iOS projects. Compatible with Objective-C and Swift.
- Completely custom camera with AVFoundation
- Custom view with camera permission denied
- Custom button colors
- Easy way to access album (camera roll)
- Flash auto, off and on
- Focus
- Front and back camera
- Grid view
- Preview photo view with three filters (fast processing)
- Visual effects like Instagram iOS app
- iPhone, iPod and iPad supported
Requirements: iOS 8 or higher.
Who uses it
Find out who uses TGCameraViewController and add your app to the list.
Adding to your project
CocoaPods is the recommended way to add TGCameraViewController to your project.
Add a pod
entry for TGCameraViewController to your Podfile:
pod 'TGCameraViewController'
Install the pod by running:
pod install
Alternatively, you can download the latest code version directly and import the files to your project.
Privacy (iOS 10)
If you are building your app with iOS 10 or newer, you need to add two privacy keys to your app's Info.plist to allow the usage of the camera and photo library, or your app will crash.
Add the keys below to the <dict>
tag of your Info.plist, replacing the strings with the description you want to provide when prompting the user:
<key>NSPhotoLibraryUsageDescription</key>
<string>Enable Photos access to import photos from your library.</string>
<key>NSCameraUsageDescription</key>
<string>Enable Camera to take photos.</string>
Usage
Here are some usage examples with Objective-C. You can find example projects for Objective-C and Swift 3 cloning the project. Refer to version 2.2.5 if you need a Swift 2.3 example.
Take photo
#import "TGCameraViewController.h"
@interface TGViewController : UIViewController <TGCameraDelegate>
@property (strong, nonatomic) IBOutlet UIImageView *photoView;
- (IBAction)takePhotoTapped;
@end
@implementation TGViewController
- (IBAction)takePhotoTapped
{
TGCameraNavigationController *navigationController =
[TGCameraNavigationController newWithCameraDelegate:self];
[self presentViewController:navigationController animated:YES completion:nil];
}
#pragma mark - TGCameraDelegate optional
- (void)cameraWillTakePhoto
{
NSLog(@"%s", __PRETTY_FUNCTION__);
}
- (void)cameraDidSavePhotoAtPath:(NSURL *)assetURL
{
// When this method is implemented, an image will be saved on the user's device
NSLog(@"%s album path: %@", __PRETTY_FUNCTION__, assetURL);
}
- (void)cameraDidSavePhotoWithError:(NSError *)error
{
NSLog(@"%s error: %@", __PRETTY_FUNCTION__, error);
}
#pragma mark - TGCameraDelegate required
- (void)cameraDidCancel
{
[self dismissViewControllerAnimated:YES completion:nil];
}
- (void)cameraDidTakePhoto:(UIImage *)image
{
_photoView.image = image;
[self dismissViewControllerAnimated:YES completion:nil];
}
- (void)cameraDidSelectAlbumPhoto:(UIImage *)image
{
_photoView.image = image;
[self dismissViewControllerAnimated:YES completion:nil];
}
@end
Choose photo
#import "TGCameraViewController.h"
@interface TGViewController : UIViewController
<UINavigationControllerDelegate, UIImagePickerControllerDelegate>
@property (strong, nonatomic) IBOutlet UIImageView *photoView;
- (IBAction)chooseExistingPhotoTapped;
@end
@implementation TGViewController
- (IBAction)chooseExistingPhotoTapped
{
UIImagePickerController *pickerController =
[TGAlbum imagePickerControllerWithDelegate:self];
[self presentViewController:pickerController animated:YES completion:nil];
}
#pragma mark - UIImagePickerControllerDelegate
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
_photoView.image = [TGAlbum imageWithMediaInfo:info];
[self dismissViewControllerAnimated:YES completion:nil];
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
[self dismissViewControllerAnimated:YES completion:nil];
}
@end
Change colors
@implementation TGViewController
- (void)viewDidLoad
{
[super viewDidLoad];
UIColor *tintColor = [UIColor greenColor];
[TGCameraColor setTintColor:tintColor];
}
@end
Options
Option | Type | Default | Description |
---|---|---|---|
kTGCameraOptionHiddenToggleButton | NSNumber (YES/NO) | NO | Displays or hides the button that switches between the front and rear camera |
kTGCameraOptionHiddenAlbumButton | NSNumber (YES/NO) | NO | Displays or hides the button that allows the user to select a photo from their album |
kTGCameraOptionHiddenFilterButton | NSNumber (YES/NO) | NO | Displays or hides the button that allos the user to filter their photo |
kTGCameraOptionSaveImageToAlbum | NSNumber (YES/NO) | NO | Save or not the photo in the camera roll |
kTGCameraOptionUseOriginalAspect | NSNumber (YES/NO) | NO | Use the original aspect instead of cropping the image to a square |
#import "TGCamera.h"
@implementation UIViewController
- (void)viewDidLoad
{
//...
[TGCamera setOption:kTGCameraOptionHiddenToggleButton value:@YES];
[TGCamera setOption:kTGCameraOptionHiddenAlbumButton value:@YES];
[TGCamera setOption:kTGCameraOptionHiddenFilterButton value:@YES];
[TGCamera setOption:kTGCameraOptionSaveImageToAlbum value:@YES];
//...
}
- (IBAction)buttonTapped
{
//...
BOOL hiddenToggleButton = [[TGCamera getOption:kTGCameraOptionHiddenToggleButton] boolValue];
BOOL hiddenAlbumButton = [[TGCamera getOption:kTGCameraOptionHiddenAlbumButton] boolValue];
BOOL hiddenFilterButton = [[TGCamera getOption:kTGCameraOptionHiddenFilterButton] boolValue];
BOOL saveToDevice = [[TGCamera getOption:kTGCameraOptionSaveImageToAlbum] boolValue];
//...
}
@end
Requirements
TGCameraViewController works on iOS 8.0+ version and is compatible with ARC projects. It depends on the following Apple frameworks, which should already be included with most Xcode templates:
- AssetsLibrary.framework
- AVFoundation.framework
- CoreImage.framework
- Foundation.framework
- MobileCoreServices.framework
- UIKit.framework
You will need LLVM 3.0 or later in order to build TGCameraViewController.
To do
- Landscape mode support
- Zoom
- Image size as global parameter
- Fast animations
- Create a custom picker controller
- Zoom does not work with the camera roll pictures
License
This code is distributed under the terms and conditions of the [MIT license](LICENSE).
Change log
A brief summary of each TGCameraViewController release can be found on the releases.
*Note that all licence references and agreements mentioned in the TGCameraViewController README section above
are relevant to that project's source code only.