您的位置:首页 > 产品设计 > UI/UE

本地相册 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);

}

//结果显示


            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息