#pragma mark - 上传头像
- (IBAction)btnUploadHeadClicked:(id)sender
{
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"" delegate:self cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil, nil];
[actionSheet addButtonWithTitle:@"拍照"];
[actionSheet addButtonWithTitle:@"从手机相册选择"];
// 同时添加一个取消按钮
[actionSheet addButtonWithTitle:@"取消"];
// 将取消按钮的index设置成我们刚添加的那个按钮,这样在delegate中就可以知道是那个按钮
actionSheet.destructiveButtonIndex = actionSheet.numberOfButtons - 1;
[actionSheet showInView:self.view];
[actionSheet release];
}
#pragma mark - 判断设备是否有摄像头
- (BOOL) isCameraAvailable
{
return [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera];
}
#pragma mark - UIActionSheet delegate
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.editing = YES;
imagePicker.allowsEditing = YES;
imagePicker.delegate = self;
if (buttonIndex == 0)//照相机
{
if ([self isCameraAvailable]) {
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentModalViewController:imagePicker animated:YES];
}else{
[PublicMethod showMBProgressHUD:@"该设备没有摄像头" andWhereView:self.view hiddenTime:kHiddenTime];
}
}
if (buttonIndex == 1)
{
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:imagePicker animated:YES];
}
if (buttonIndex == 2)
{
}
[imagePicker release];
}
#pragma mark - UIImagePicker delegate
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[picker dismissModalViewControllerAnimated:YES];
UIImage *image = [[info objectForKey:UIImagePickerControllerEditedImage] retain];
[self performSelector:@selector(saveImage:) withObject:image afterDelay:0.5];
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
[picker dismissModalViewControllerAnimated:YES];
}
#pragma mark -
- (void)saveImage:(UIImage *)image
{
imgVHead.image = image;
}
@end