1 - (
void)addImage
2 {
3 if (CGRectGetMaxX(addImageView.frame)>SCREEN_WIDTH-
CGRectGetWidth(addImageView.frame)) {
4 [self ShowHUDTitle:
@"只能添加三张图片" andDelay:
2];
5 return;
6 }
7 UIActionSheet *actionsheet = [[UIActionSheet alloc] initWithTitle:nil
delegate:self cancelButtonTitle:
@"取消" destructiveButtonTitle:nil otherButtonTitles:
@"打开照相机",
@"从手机相册获取",nil];
8
9 [actionsheet showInView:self.view];
10 }
11
12
13 - (
void)actionSheet:(UIActionSheet *
)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
14 {
15 if (buttonIndex ==
actionSheet.cancelButtonIndex) {
16 }
17 switch (buttonIndex) {
18 case 0:
//打开照相机
19 [self takePhoto];
20 break;
21 case 1:
//打开相册
22 [self localPhoto];
23 break;
24 default:
25 break;
26 }
27 }
28
29 -(
void)takePhoto
//打开相机
30 {
31 UIImagePickerControllerSourceType sourceType =
UIImagePickerControllerSourceTypeCamera;
32 if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
33 UIImagePickerController *picker =
[[UIImagePickerController alloc]init];
34 picker.
delegate =
self;
35 picker.allowsEditing =
YES;
36 picker.sourceType =
sourceType;
37 [self presentViewController:picker animated:YES completion:nil];
38 }
39 }
40 -(
void)localPhoto
//本地相册
41 {
42 UIImagePickerController *picker =
[[UIImagePickerController alloc]init];
43 picker.sourceType =
UIImagePickerControllerSourceTypePhotoLibrary;
44 picker.
delegate =
self;
45 picker.allowsEditing =
YES;
46 [self presentViewController:picker animated:YES completion:nil];
47 }
48
49
50 -(
void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *
)info
51 {
52 NSString *type =
[info objectForKey:UIImagePickerControllerMediaType];
53 // 当选择的类型是图片
54 if ([type isEqualToString:
@"public.image"]) {
55 // 把图片转化为NSData
56 UIImage *image =
info[UIImagePickerControllerEditedImage];
57 NSData *data = UIImageJPEGRepresentation(image,
0.03);
58
59
60 // 图片的保存路径
61 NSString *documentsPath = [NSHomeDirectory() stringByAppendingPathComponent:
@"Documents"];
62 NSFileManager *manager =
[NSFileManager defaultManager];
63
64 // 将刚刚转化的图片放到沙盒中 并保存为png
65 [manager createDirectoryAtPath:documentsPath withIntermediateDirectories:YES attributes:nil error:nil];
66 NSString *imageName = [NSString stringWithFormat:
@"/%@.png",[NSDate date]];
67
68 [manager createFileAtPath:[documentsPath stringByAppendingString:[NSString stringWithFormat:
@"%@",imageName]] contents:data attributes:nil];
69
70 //得到选择后沙盒的路径
71 filePath = [[NSString alloc]initWithFormat:
@"%@%@",documentsPath,imageName];
72 NSLog(
@"%@",filePath);
73
74 [picker dismissViewControllerAnimated:YES completion:nil];
75
76 [imagePathList addObject:filePath];
77
78
79 addImageView = [[UIImageView alloc]initWithFrame:CGRectMake(CGRectGetMaxX(addImageView.frame),
0, SCREEN_WIDTH/
3, SCREEN_WIDTH/
3)];
80 addImageView.image =
image;
81 addImageView.layer.borderWidth =
5;
82 addImageView.layer.borderColor =
[UIColor whiteColor].CGColor;
83 [self.view addSubview:addImageView];
84
85 CGSize size = [addressLabel.text sizeWithAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:
12]}];
86 addressLabel.frame = CGRectMake(
10, CGRectGetMaxY(addImageView.frame), size.width+
5,
20);
87
88 inputView.frame = CGRectMake(
0, CGRectGetMaxY(addressLabel.frame), SCREEN_WIDTH, SCREEN_HEIGHT-
CGRectGetMaxY(addressLabel.frame));
89
90 }
91 }
92 - (
void)imagePickerControllerDidCancel:(UIImagePickerController *
)picker
93 {
94 [picker dismissViewControllerAnimated:YES completion:nil];
95 }
转载于:https://www.cnblogs.com/fshmjl/p/4792146.html