在点击按钮的方法中 :
//
弹出图片选择器
- ( IBAction )btnClick:( id )sender {
// 向 photos 中保存图片
//UIImageWriteToSavedPhotosAlbum([UIImage imageNamed:@"2.jpg"], self, @selector(image:didFinishSavingWithError:contextInfo:), NULL);
//UIImagePickerController : UINavigationController 图片选择器
// 不需要指定根视图控制器
UIImagePickerController *imagePicker =[[ UIImagePickerController alloc ] init ];
imagePicker. delegate = self ;
// 是否允许修改
imagePicker. allowsEditing = YES ;
if ([ UIImagePickerController isSourceTypeAvailable : UIImagePickerControllerSourceTypeCamera ]) { // 以相机为来源
NSLog ( @" 以相机为来源 " );
imagePicker. sourceType = UIImagePickerControllerSourceTypeCamera ;
} /*else if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]){ // 图片库
NSLog(@" 以图片库为来源 ");
imagePicker.sourceType =UIImagePickerControllerSourceTypePhotoLibrary;
}*/ else { // 相册
NSLog ( @" 以相册为来源 " );
imagePicker. sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum ;
}
[ self presentViewController :imagePicker animated : YES completion : nil ];
[imagePicker release ];
}
// 选择某个图片之后调用的协议方法
-( void )imagePickerController:( UIImagePickerController *)picker didFinishPickingMediaWithInfo:( NSDictionary *)info{
NSLog ( @"hhhhh==%@" ,info);
//Key:
//UIImagePickerControllerOriginalImage 原生的图片
//UIImagePickerControllerEditedImage 修改的图片
UIImage *image =[info objectForKey : @"UIImagePickerControllerOriginalImage" ];
_imageView . image =image;
[ self dismissViewControllerAnimated : YES completion : nil ];
}
// 点击 Cancel 按钮时调用的协议方法
-( void )imagePickerControllerDidCancel:( UIImagePickerController *)picker{
NSLog ( @"Cancel----" );
[ self dismissViewControllerAnimated : YES completion : nil ];
}
- ( void )dealloc {
[ _imageView release ];
[ super dealloc ];
}
- ( IBAction )btnClick:( id )sender {
// 向 photos 中保存图片
//UIImageWriteToSavedPhotosAlbum([UIImage imageNamed:@"2.jpg"], self, @selector(image:didFinishSavingWithError:contextInfo:), NULL);
//UIImagePickerController : UINavigationController 图片选择器
// 不需要指定根视图控制器
UIImagePickerController *imagePicker =[[ UIImagePickerController alloc ] init ];
imagePicker. delegate = self ;
// 是否允许修改
imagePicker. allowsEditing = YES ;
if ([ UIImagePickerController isSourceTypeAvailable : UIImagePickerControllerSourceTypeCamera ]) { // 以相机为来源
NSLog ( @" 以相机为来源 " );
imagePicker. sourceType = UIImagePickerControllerSourceTypeCamera ;
} /*else if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]){ // 图片库
NSLog(@" 以图片库为来源 ");
imagePicker.sourceType =UIImagePickerControllerSourceTypePhotoLibrary;
}*/ else { // 相册
NSLog ( @" 以相册为来源 " );
imagePicker. sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum ;
}
[ self presentViewController :imagePicker animated : YES completion : nil ];
[imagePicker release ];
}
// 选择某个图片之后调用的协议方法
-( void )imagePickerController:( UIImagePickerController *)picker didFinishPickingMediaWithInfo:( NSDictionary *)info{
NSLog ( @"hhhhh==%@" ,info);
//Key:
//UIImagePickerControllerOriginalImage 原生的图片
//UIImagePickerControllerEditedImage 修改的图片
UIImage *image =[info objectForKey : @"UIImagePickerControllerOriginalImage" ];
_imageView . image =image;
[ self dismissViewControllerAnimated : YES completion : nil ];
}
// 点击 Cancel 按钮时调用的协议方法
-( void )imagePickerControllerDidCancel:( UIImagePickerController *)picker{
NSLog ( @"Cancel----" );
[ self dismissViewControllerAnimated : YES completion : nil ];
}
- ( void )dealloc {
[ _imageView release ];
[ super dealloc ];
}
@end
代码整理还不够完善,如果有好的建议,请在下边留言, 如果对文章感兴趣,欢迎关注小白博客或加入公共讨论群: 234713941