你好,歡迎來到IOS教程網

 Ios教程網 >> IOS使用技巧 >> IOS7技巧 >> iOS 調用系統相機和相冊的方法

iOS 調用系統相機和相冊的方法

編輯:IOS7技巧
iOS 調用系統相機和相冊在開發中我們肯定是經常碰到了,今天我們就一起來看一篇關於iOS 調用系統相機和相冊的方法,具體的細節如下所示。

#import “CameraViewController.h”

@interface CameraViewController ()

@end

@implementation CameraViewController

– (void)viewDidLoad {

[super viewDidLoad];

NSArray *arr = @[@”調用相機”,@”調用圖片庫”,@”打開閃關燈”,@”關閉閃光燈”];

 

for (int i = 0; i < 4; i++) {

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

button.frame = CGRectMake(100, (100 + 10) * i + 50, 100, 100);

[button setTitle:arr[i] forState:(UIControlStateNormal)];

[button setTitleColor:[UIColor blackColor] forState:(UIControlStateNormal)];

if (i == 0) {

[button addTarget:self action:@selector(addCarema) forControlEvents:(UIControlEventTouchUpInside)];

}else if (i == 1)

{

[button addTarget:self action:@selector(openPicLibrary) forControlEvents:(UIControlEventTouchUpInside)];

}else if (i == 2)

{

[button addTarget:self action:@selector(openFlashlight) forControlEvents:(UIControlEventTouchUpInside)];

}

else if (i == 3)

{

[button addTarget:self action:@selector(closeFlashlight) forControlEvents:(UIControlEventTouchUpInside)];

}

[self.view addSubview:button];

}

 

// Do any additional setup after loading the view.

}

-(void)addCarema

{

//判斷是否可以打開相機,模擬器無法使用此功能

if ([UIImagePickerController isSourceTypeAvailable:(UIImagePickerControllerSourceTypeCamera)]) {

UIImagePickerController *picker = [[UIImagePickerController alloc] init];

picker.delegate = self;

picker.allowsEditing = YES; //是否可編輯

//攝像頭

picker.sourceType = UIImagePickerControllerSourceTypeCamera;

[self presentViewController:picker animated:YES completion:nil];

}else

{

//如果沒有提示用戶

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@”Error” message:@”你沒有攝像頭” delegate:nil cancelButtonTitle:@”Drat!” otherButtonTitles:nil, nil];

[alert show];

}

}

//拍攝完成後要執行的方法

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

{

//得到圖片

UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];

//圖片存入相冊

UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);

[self dismissViewControllerAnimated:YES completion:nil];

}

//點擊Cancel按鈕後執行方法

-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker

{

[self dismissViewControllerAnimated:YES completion:nil];

}

-(void)openPicLibrary

{

//相冊是可以用模擬器打開的

if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {

UIImagePickerController *picker = [[UIImagePickerController alloc] init];

picker.delegate = self;

picker.allowsEditing = YES;

 

//打開相冊選擇照片

picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

[self presentViewController:picker animated:YES completion:nil];

}else

{

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@”Error” message:@”你沒有攝像頭” delegate:nil cancelButtonTitle:@”Drat!” otherButtonTitles:nil, nil];

[alert show];

}

}

-(void)openFlashlight

{

 

 

AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];

if ([device hasTorch]) {

[device lockForConfiguration:nil];

 

[device setTorchMode:AVCaptureTorchModeOff];

 

[device unlockForConfiguration];

}

 

}

-(void)closeFlashlight

{

[self.AVSession stopRunning];

}

– (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

/*

#pragma mark – Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation

– (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

// Get the new view controller using [segue destinationViewController].

// Pass the selected object to the new view controller.

}

*/

@end

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved