StrongerShen / ios-KRCamera

iPhone and iPad Camera Framework, it supported iPhone 4, iPhone 4S, iPhone 5, iPad to Use Camera Device. It supports iOS 4.x ~ 6.x.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Supports

KRCamera supports ARC ( Automatic Reference Counting ). If you received a memory warning message, that may be an iOS Version bugs happened, don't worry too much.

KRCamera supports iPhone 4, iPhone 4S, iPhone 5 and iPad. If you wanna develop something custom camera-playing or custom camera-displaying view ( Ex : 320 x 320 ) not full screen to show, the KRCamera can be the basic developement framework.

How To Get Started

- (void)viewDidLoad
{
    [super viewDidLoad];
    _krCamera = [[KRCamera alloc] initWithDelegate:self];
    /*
     * @ 如果是要使用 addSubview 作全螢幕的呈現 ( Full Screen )
     *   - 就要在 viewDidLoad 這裡先執行 wantToFullScreen 函式將狀態列隱藏 ( Hide the Status Bar )。
     */
    [self._krCamera wantToFullScreen];
}

#pragma KRCameraDelegate
-(IBAction)takePicture:(id)sender
{
    /*
     * @ 如果 Device 支援相機
     */
    if( self._krCamera.isSupportCamera )
    {
        self._krCamera.isOpenVideo             = NO;
        self._krCamera.sourceMode              = KRCameraModesForCamera;
        self._krCamera.displaysCameraControls  = NO;
        /*
         * @ 如果要用 presentViewController 的模式啟動相機,就不需要在 viewDidLoad 裡執行 wantToFullScreen 方法。
         */
        //[self presentViewController:self._krCamera animated:YES completion:nil];
        if( [self._krCamera isIpadDevice] )
        {
            [self._krCamera startCamera];
            /*
             * @ 如果是 iPad
             */
            self._krCamera.autoDismissPresent      = YES;
            self._krCamera.autoRemoveFromSuperview = NO;
            [self._krCamera displayPopoverFromView:self.view inView:self.view];
        }
        else
        {
            /*
             * @ 在這裡可自訂義 Camera 的呎吋與出現位置
             */
            //If you wanna customize camera displays frame with iPhone 5.
            //Then you can use sizetoFistIphone5 to open autolayout setting.
            self._krCamera.sizeToFitIphone5 = YES;
            [self._krCamera.view setFrame:CGRectMake(0.0f, 0.0f, 320.0f, 320.0f)];
            [self._krCamera startCamera];
            self._krCamera.autoDismissPresent      = NO;
            self._krCamera.autoRemoveFromSuperview = YES;
            [self.view addSubview:self._krCamera.view];
        }
    }
}

-(IBAction)choosePicture:(id)sender
{
    self._krCamera.isOpenVideo             = NO;
    self._krCamera.sourceMode              = KRCameraModesForSelectAlbum;
    [self._krCamera startChoose];
    if( [self._krCamera isIpadDevice] )
    {
        /*
         * @ 如果是 iPad
         */
        self._krCamera.autoDismissPresent      = NO;
        self._krCamera.autoRemoveFromSuperview = YES;
        [self._krCamera displayPopoverFromView:self.view inView:self.view];
    }
    else
    {
        /*
         * @ 如果要用 addSubview 的模式啟動相機,就要先在 viewDidLoad 裡執行 wantToFullScreen 方法先隱藏狀態列。
         */
        self._krCamera.autoDismissPresent      = YES;
        self._krCamera.autoRemoveFromSuperview = NO;
        [self presentViewController:self._krCamera animated:YES completion:nil];
    }
}


#pragma KRCameraDelegate
-(void)krCameraDidCancel:(UIImagePickerController *)_imagePicker
{
    
}

-(void)krCameraDidFinishPickingMediaWithInfo:(NSDictionary *)_infos imagePickerController:(UIImagePickerController *)_imagePicker
{
    
}

-(void)krCameraDidFinishPickingImage:(UIImage *)_image imagePath:(NSString *)_imagePath metadata:(NSDictionary *)_metadatas imagePickerController:(UIImagePickerController *)_imagePicker
{
   
}

-(void)krCameraDidFinishPickingImage:(UIImage *)_image imagePath:(NSString *)_imagePath imagePickerController:(UIImagePickerController *)_imagePicker
{
    
}

-(void)krCameraDidFinishPickingVideoPath:(NSString *)_videoPath imagePickerController:(UIImagePickerController *)_imagePicker
{
    
}

Version

KRCamera now is V1.2 Released.

License

KRCamera is available under the MIT license ( or Whatever you wanna do ). See the LICENSE file for more info.

About

iPhone and iPad Camera Framework, it supported iPhone 4, iPhone 4S, iPhone 5, iPad to Use Camera Device. It supports iOS 4.x ~ 6.x.

License:Other