1 实现代理
<UIActionSheetDelegate,UIImagePickerControllerDelegate,UINavigationControllerDelegate>
2 点击修改
(void)click:{
UIActionSheet *choiceSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:@"拍照", @"从相册中选取", nil];
[choiceSheet showInView:self.view];
}
3 上传
#pragma mark - UIActionSheetDelegate
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
if (buttonIndex == 0) {
// 拍照
UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera;
//判断是否有相机
if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]){
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
//设置拍照后的图片可被编辑
picker.allowsEditing = YES;
//资源类型为照相机
picker.sourceType = sourceType;
[self presentModalViewController:picker animated:YES];
}else{
NSLog(@"该设备无摄像头");
}
} else if (buttonIndex == 1) {
// 从相册中选取
UIImagePickerController *pickerImage = [[UIImagePickerController alloc] init];
if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {
pickerImage.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
pickerImage.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:pickerImage.sourceType];
}
pickerImage.delegate = self;
pickerImage.allowsEditing = YES;
[self presentViewController:pickerImage animated:YES completion:nil];
}
}
//传图片
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
[picker dismissViewControllerAnimated:YES completion:^{}];
UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];
// CGSize imageSize = image.size;
// imageSize.height =100;
// imageSize.width =100;
// image = [self imageWithImage:image scaledToSize:imageSize];
//上传修改图片
//获取当前用户id
NSUserDefaults *defau = [NSUserDefaults standardUserDefaults];
NSString *userIDIndefau = [defau objectForKey:@"userID"];
NSMutableDictionary * temDic=[NSMutableDictionary dictionary];
[temDic setObject:userIDIndefau forKey:@"user_id"];
NSData *imagedata = UIImageJPEGRepresentation(image,0.1);
[temDic setObject:imagedata forKey:@"user_img"];
// [self.imgButton setBackgroundImage:image forState:UIControlStateNormal];
}
//图片压缩
-(UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize
{
UIGraphicsBeginImageContext(newSize);
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}