UIImagePickerController 图像选取器--在iPhone中调用照相机、照片库
来源:互联网 发布:java的https通信 编辑:程序博客网 时间:2024/05/22 04:39
UIImagePickerController 图像选取器是一种导航控制器类,让你可以在应用程序中添加简单的图像选择功能或者照相机界面。用户会看到一个图像选择屏幕,在其中挑选相片,相片的来源则是他自己的相片库、保存下来的相片集或者照相机。当用户选定一个相片后,就会通过 UIImagePickerDelegate 协议中的方法,通知选取器的委托。
你可以用 UIImagePickerController 类来创建图像选取器,并且可以将其作为一个独立的导航控制器,添加到窗口中。
一、创建并添加到视图中
在.h文件添加UINavigationControllerDelegate,UIImagePickerControllerDelegate两个协议。
UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera;
if (![UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]) {
sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
}
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = YES;
picker.sourceType = sourceType;
[self presentModalViewController:picker animated:YES];
[picker release];
二、图像来源
你可以通过 sourceType 属性设定多种图像来源,呈现给用户:
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
可以使用下列来源:
enum {UIImagePickerControllerSourceTypePhotoLibrary,//相片库
UIImagePickerControllerSourceTypeCamera,//照相机
UIImagePickerControllerSourceTypeSavedPhotosAlbum//保存的相片
};
三、图像编辑
要让用户可以随意移动以及缩放图像,可以将 allowsImageEditing 属性设置为 YES,打开图像编辑功能:
picker.allowsEditing=YES;四、图像选取
当用户选择一个图片之后,选择器的委托会通过 didFinishPickingImage 方法接到通知。代理会得到一个包含有该图像的 UIImage 对象,如果编辑功能开启的话,还会得到一个包含了编辑属性的NSDictionary。
设置选取器的 delegate ,就可以将一个委托赋予选择器:
picker.delegate =self;在你的委托类中实现下面的方法,这样当选取一个图像时,委托类就会得到通知:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo{ [picker dismissModalViewControllerAnimated:YES];
UIImage *image = [[info objectForKey:UIImagePickerControllerEditedImage] retain]; //获取到刚才拍摄的图片
/*添加处理选中图像代码*/
}
方法的参数包括一个指针,指向报告当前操作的图像选取器控制器,这样你就可以在一个委托中处理多个选取器。参数还包括一个指向 UIImage 对象自身的指针,以及一个字典对象,其中包含有关于图像在屏幕上如何被缩放以及移动的信息。
你可能在用户取消图像选择时也想要得到通知。要达到这一目的,要在代理中实现 imagePickerControllerDidCancel 方法。他会在取消选择时被调用,以指向被取消的图像选取器指针为参数:
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{/*添加代码,处理选中图像又取消的情况*/
}
五、效果如下
- UIImagePickerController 图像选取器--在iPhone中调用照相机、照片库—IOS开发
- UIImagePickerController 图像选取器--在iPhone中调用照相机、照片库
- UIImagePickerController 图像选取器--在iPhone中调用照相机、照片库—IOS开发
- UIImagePickerController 图像选取器--在iPhone中调用照相机、照片库—IOS开发
- UIImagePickerController 图像选取器--在iPhone中调用照相机、照片库
- UIImagePickerController 图像选取器--在iPhone中调用照相机、照片库
- UIImagePickerController 图像选取器--在iPhone中调用照相机、照片库—IOS开发
- UIImagePickerController 图像选取器--在iPhone中调用照相机、照片库—IOS开发
- UIImagePickerController 图像选取器--在iPhone中调用照相机、照片库—IOS开发
- UIImagePickerController图像选取器--在iPhone中调用照像机,照片库
- 使用UIImagePickerController从IPhone照片库或照相机获取图像
- 使用UIImagePickerController从iPhone照片库或照相机获取图像
- Iphone利用UIImagePickerController调用系统照相机
- Iphone利用UIImagePickerController调用系统照相机
- Iphone利用UIImagePickerController调用系统照相机
- Iphone利用UIImagePickerController调用系统照相机
- iphone照相机和照片库
- iphone 怎么使用图片选取器 UIImagePickerController
- 关于数据库连接池创建(楼主采用JDBC+ODBC桥接方式连接数据库)
- JS操作XML实例
- hdu4528小明系列故事——捉迷藏(bfs)
- Linux的shell中echo改变输出显示样式
- android组件-Intent
- UIImagePickerController 图像选取器--在iPhone中调用照相机、照片库
- Ubuntu 13.04下安装MariaDB 5.5
- Android HTML5 开发
- hdu 1878(欧拉回路)
- 变量、指针变量、指针数组、数组指针、函数指针、函数指针数组
- Python打印log,包括行号,路径,方法名,文件
- 模拟器不能上网的问题
- Pygame学习(2)------AI(人工智能)
- 每日一题(45) - 数组中的逆序对