IOS开发之相册拾取器UIImagePickerController

原创 2012年03月30日 16:58:54

UIImagePickerController概述:

UIImagePickerController 类是获取选择图片和视频的用户接口。我们可以用这个controller选择我们所需要的图片和视频。对于这个类来说比较特殊,我们不能够任意定制,也不可以继承生成子类。

我们在用UIImagePickerController类的时候,只需要调用用代码实现其在什么位置显示和开始,当然我们之后可以选择所需的图片和影片,或者也可以不选择点击取消即可。

但是在我们调用接口之前,我们需要确认:

一:当前设备是否支持使用UIImagePickerController,这个时候我们需要调用isSourceTypeAvailable:方法判断。

二:查看符合的媒体类型(图片或者视频),这个时候我们调用availableMediaTypesForSourceType: 方法判断。

同时使用UIImagePickerController时,我们需要UIImagePickerControllerDelegate协议代理实现一些特定时间特定的动作。在调用摄像头的时候我们可以选择使用闪光灯,但是默认条件下对视频有10分钟的限制,需要用videoMaximumDuration属性更改默认时间,

三:之后我们设定界面媒体的属性  

1:sourceType  //从哪选取媒体
enum {
UIImagePickerControllerSourceTypePhotoLibrary,
UIImagePickerControllerSourceTypeCamera,
UIImagePickerControllerSourceTypeSavedPhotosAlbum
};
typedef NSUInteger UIImagePickerControllerSourceType;

2:   mediaTypes
mediaTypes用来确定再picker里显示那些类型的多媒体文件,图片?视频?
+ (NSArray *)availableMediaTypesForSourceType:(UIImagePickerControllerSourceType)sourceType

一共有三个可选的代理方法UIImagePickerControllerDelegate 
– imagePickerController:didFinishPickingMediaWithInfo:  
– imagePickerControllerDidCancel:  
– imagePickerController:didFinishPickingImage:editingInfo: 


-(void) pick{
[imagePicker takePicture];
}

- (IBAction)press:(id)sender {
imagePicker = [UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera];
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePicker.showsCameraControls = NO;

UIView* view = [UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
view.backgroundColor = [UIColor redColor];
UIButton* button = [UIButton alloc] initWithFrame:CGRectMake(0, 0, 40, 40)];
button.backgroundColor = [UIColor blueColor];
[button addTarget:self action:@selector(pick) forControlEvents:UIControlEventTouchUpInside];
[view addSubview:button];

CGRect newFrame = CGRectMake(0.0,436,320,44);
view.frame = newFrame;
imagePicker.cameraOverlayView = view;
[self presentModalViewController:imagePicker animated:YES];
}


-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
if ([info objectForKey:UIImagePickerControllerMediaType] isEqualToString:(NSString*)kUTTypeImage]) {
UIImage* image = [info objectForKey:UIImagePickerControllerOriginalImage];
UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);
} else if ([info objectForKey:UIImagePickerControllerMediaType] isEqualToString:(NSString*)kUTTypeMovie]) {
NSString* path = [info objectForKey:UIImagePickerControllerMediaURL] path];
   UISaveVideoAtPathToSavedPhotosAlbum(path, self, @selector(video:didFinishSavingWithError:contextInfo:), nil);
}
[picker dismissModalViewControllerAnimated:YES];
}

-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
[picker dismissModalViewControllerAnimated:YES];
}

使用UIImagePickerController从iPhone照片库或照相机获取图像

简单记一下: @interface PhotoAppViewController : UIViewController UIImagePickerControllerDelegate> -(IBA...
  • ajrm0925
  • ajrm0925
  • 2012年04月18日 16:34
  • 8534

iOS摄像头和相册-UIImagePickerController-浅析

在一些应用中,我们需要用到iOS设备的摄像头进行拍照,视频。并且从相册中选取我们需要的图片或者视频。 关于iOS摄像头和相册的应用,可以使用UIImagePickerController类来完成...
  • xdrt81y
  • xdrt81y
  • 2014年08月29日 16:21
  • 11978

iphone 怎么使用图片选取器 UIImagePickerController

                                                            iphone 怎么使用图片选取器 1。 定义 类变量:       UIImag...
  • tangaowen
  • tangaowen
  • 2011年06月06日 00:19
  • 40953

ios中UIImagePickerController 图片选取器的使用

1。 定义 类变量: UIImagePickerController* picker_library_; 2。实现 UIImagePickerControllerDelegate 这个delega...
  • zhanglei5415
  • zhanglei5415
  • 2012年07月03日 09:30
  • 29573

UIImagePickerController使用

最近在做照相,研究下UIImagePickerController的使用方法。引用UIImagePickerController  需用到两个代理用UIImagePickerController选择、...
  • dean19900504
  • dean19900504
  • 2012年11月02日 09:51
  • 16355

ios 相机 相册 UIImagePickerController详解

转载自:http://blog.csdn.net/kingsley_cxz/article/details/9157093 1.UIImagePickerController的静态方法: ...
  • m372897500
  • m372897500
  • 2014年11月27日 16:28
  • 11759

iOS相机相册调用 — UIImagePickerController

在iOS开发中如果要调用相机拍取照片或者是直接获取相册中的照片,那么调用UIImagePickerController是个不错的选择。UIImagePickerController继承于UINavig...
  • magical_code
  • magical_code
  • 2016年04月12日 13:39
  • 4165

iOS开发之UIImagePickerController详解

iOS开发之UIImagePickerController详解
  • l2i2j2
  • l2i2j2
  • 2016年04月13日 23:51
  • 3341

[iOS 相机相册调用] UIImagePickerController 简单实用 [转]

[转]文/Shelin(简书作者) 原文链接:http://www.jianshu.com/p/e70a184d1f32 著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。**在iOS...
  • iOSTianNan
  • iOSTianNan
  • 2016年08月08日 16:28
  • 2340

UIImagePickerController剖析

UIImagePickerController是苹果官方提供的一套相机、相册处理的方式。使用UIImagePickerController你可以调用相机拍摄照片视频、调用相册功能。 UIImageP...
  • u012988591
  • u012988591
  • 2017年02月09日 15:25
  • 1291
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IOS开发之相册拾取器UIImagePickerController
举报原因:
原因补充:

(最多只允许输入30个字)