选择图片——相机与相册

举报
清雨小竹 发表于 2022/09/25 01:15:06 2022/09/25
【摘要】 - (IBAction)touchSelectImg:(id)sender { //在这里呼出下方菜单按钮项 UIActionSheet *myActionSheet = [[UIActionSheet alloc] initWithTitle:nil ...


  
  1. - (IBAction)touchSelectImg:(id)sender {
  2. //在这里呼出下方菜单按钮项
  3. UIActionSheet *myActionSheet = [[UIActionSheet alloc]
  4. initWithTitle:nil
  5. delegate:self
  6. cancelButtonTitle:@"取消"
  7. destructiveButtonTitle:nil
  8. otherButtonTitles: @"打开照相机", @"从手机相册获取",nil];
  9. [myActionSheet showInView:self.view];
  10. }


<UINavigationControllerDelegate,UIImagePickerControllerDelegate,UIActionSheetDelegate>


  
  1. - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
  2. {
  3. //呼出的菜单按钮点击后的响应
  4. if (buttonIndex == actionSheet.cancelButtonIndex){
  5. NSLog(@"取消");
  6. }else{
  7. switch (buttonIndex){
  8. case 0: //打开照相机拍照
  9. [self takePhoto];
  10. break;
  11. case 1: //打开本地相册
  12. [self LocalPhoto];
  13. break;
  14. }
  15. }
  16. }
  17. //开始拍照
  18. -(void)takePhoto
  19. {
  20. UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera;
  21. if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera])
  22. {
  23. UIImagePickerController *picker = [[UIImagePickerController alloc] init];
  24. picker.delegate = self;
  25. //设置拍照后的图片可被编辑
  26. picker.allowsEditing = YES;
  27. picker.sourceType = sourceType;
  28. [self presentViewController:picker animated:YES completion:nil];
  29. }else
  30. {
  31. NSLog(@"模拟其中无法打开照相机,请在真机中使用");
  32. }
  33. }
  34. //打开本地相册
  35. -(void)LocalPhoto
  36. {
  37. UIImagePickerController *picker = [[UIImagePickerController alloc] init];
  38. picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
  39. picker.delegate = self;
  40. //设置选择后的图片可被编辑
  41. picker.allowsEditing = YES;
  42. [self presentViewController:picker animated:YES completion:nil];
  43. }
  44. //当选择一张图片后进入这里
  45. -(void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
  46. {
  47. NSString *type = [info objectForKey:UIImagePickerControllerMediaType];
  48. //当选择的类型是图片
  49. if ([type isEqualToString:@"public.image"])
  50. {
  51. UIImage* image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
  52. [picker dismissViewControllerAnimated:YES completion:nil];
  53. }
  54. }
  55. //您取消了选择图片
  56. - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
  57. {
  58. NSLog(@"您取消了选择图片");
  59. [picker dismissViewControllerAnimated:YES completion:nil];
  60. }

文章来源: zzzili.blog.csdn.net,作者:清雨小竹,版权归原作者所有,如需转载,请联系作者。

原文链接:zzzili.blog.csdn.net/article/details/50765225

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。