本地相册 UIImagePickerController
2015-10-09 17:37
597 查看
步骤
1. 在storyboard 里 创建 三个 button 和 一个 UIIageView
2. 在ViewController 代码如下
@interface ViewController ()
// 使用UIImagePickerController类 需要签协议
<UIImagePickerControllerDelegate,UINavigationControllerDelegate>
@property (weak,
nonatomic)
IBOutlet UIImageView *imageView;
@end
- (IBAction)photoAction:(id)sender {
//初始化UIImagePickerController
UIImagePickerController * imagePicker = [[UIImagePickerController alloc] init];
//选择类型相机,相册还是什么
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
/*enum {
UIImagePickerControllerSourceTypePhotoLibrary,
UIImagePickerControllerSourceTypeCamera,
UIImagePickerControllerSourceTypeSavedPhotosAlbum
};
typedef NSUInteger UIImagePickerControllerSourceType;
*/
//指定代理
imagePicker.delegate = self;
//允许编辑
imagePicker.allowsEditing = YES;
//显示相册
[self presentViewController:imagePicker animated:YES completion:^{
}];
[imagePicker release];
}
//成功获得相片后的回调
-(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
/*保存原始图片 */
//UIImage *image = [info valueForKey:@"UIImagePickerControllerOriginalImage"];
/* 保存编辑后的图片 */
// UIImage *image = [info valueForKey:@"UIImagePickerControllerEditedImage"];
// 保存图片
// self.imageView.image = image;
self.imageView.image = [info valueForKey:@"UIImagePickerControllerEditedImage"];
[picker dismissViewControllerAnimated:YES completion:^{
}];
}
//协议方法 点击取消按钮时候执行的方法
-(void) imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
NSLog(@"取消选取");
[picker dismissViewControllerAnimated:YES completion:^{
}];
}
- (IBAction)carmeAction:(id)sender {
//判断是否有摄像头,如果没有弹窗警告
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:@"提示" message:@"设备不可用" delegate:self cancelButtonTitle:@"确定"
otherButtonTitles:nil,
nil];
[alert show];
[alert release];
}
}
//保存
- (IBAction)saveAction:(id)sender {
UIImageWriteToSavedPhotosAlbum(self.imageView.image,
nil,
nil, nil);
}
//结果显示
![](https://img-blog.csdn.net/20151009180006154?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
1. 在storyboard 里 创建 三个 button 和 一个 UIIageView
2. 在ViewController 代码如下
@interface ViewController ()
// 使用UIImagePickerController类 需要签协议
<UIImagePickerControllerDelegate,UINavigationControllerDelegate>
@property (weak,
nonatomic)
IBOutlet UIImageView *imageView;
@end
- (IBAction)photoAction:(id)sender {
//初始化UIImagePickerController
UIImagePickerController * imagePicker = [[UIImagePickerController alloc] init];
//选择类型相机,相册还是什么
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
/*enum {
UIImagePickerControllerSourceTypePhotoLibrary,
UIImagePickerControllerSourceTypeCamera,
UIImagePickerControllerSourceTypeSavedPhotosAlbum
};
typedef NSUInteger UIImagePickerControllerSourceType;
*/
//指定代理
imagePicker.delegate = self;
//允许编辑
imagePicker.allowsEditing = YES;
//显示相册
[self presentViewController:imagePicker animated:YES completion:^{
}];
[imagePicker release];
}
//成功获得相片后的回调
-(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
/*保存原始图片 */
//UIImage *image = [info valueForKey:@"UIImagePickerControllerOriginalImage"];
/* 保存编辑后的图片 */
// UIImage *image = [info valueForKey:@"UIImagePickerControllerEditedImage"];
// 保存图片
// self.imageView.image = image;
self.imageView.image = [info valueForKey:@"UIImagePickerControllerEditedImage"];
[picker dismissViewControllerAnimated:YES completion:^{
}];
}
//协议方法 点击取消按钮时候执行的方法
-(void) imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
NSLog(@"取消选取");
[picker dismissViewControllerAnimated:YES completion:^{
}];
}
- (IBAction)carmeAction:(id)sender {
//判断是否有摄像头,如果没有弹窗警告
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:@"提示" message:@"设备不可用" delegate:self cancelButtonTitle:@"确定"
otherButtonTitles:nil,
nil];
[alert show];
[alert release];
}
}
//保存
- (IBAction)saveAction:(id)sender {
UIImageWriteToSavedPhotosAlbum(self.imageView.image,
nil,
nil, nil);
}
//结果显示
相关文章推荐
- UIImagePickerController的使用
- 修复UIImagePickerController偷换StatusBar颜色的问题
- UIImagePickerController拍照与摄像
- UIImagePickerController介绍
- iPad中UIActionSheet弹出UIImagePickerController异常处理
- UIImagePickerController详解
- iOS 7以后 使用 UIImagePickerController 在图库中选取图片时 添加以下代码 防止状态栏的隐藏
- ios UIImagePickerController 导航栏透明
- UIImagePickerController属性与使用
- UIImagePickerController崩溃的问题
- 利用UIImagePickerController进行视频录像
- UIImagePickerController使用
- iOS 调用系统相册,调用系统照相机,调用系统相册,并且对照片进行剪裁
- IOS7中解决UIImagePickerController出现时候显示StatusBar
- iPad图片拾取器
- UIImagePickerController--------图片选取器
- UIImagePickerController本地化控件文字
- 【IOS学习】AV Foundation 学习笔记
- UIImagePickerController图像拾取器
- ios中改变UIImagePickerController页面的button的文字为中文