iOS imagePicker使用方法,方便使用!三步輕鬆搞定!,iosimagepicker
自己總結的修改頭像的方法,只為方便自己查詢使用!轉寄
步驟:1、遵守代理協議
<UIImagePickerControllerDelegate,UINavigationControllerDelegate,UIActionSheetDelegate>
2、點擊事件{
UIActionSheet *choosePhotoActionSheet;
if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
choosePhotoActionSheet = [[UIActionSheet alloc] initWithTitle:NSLocalizedString(@"選取圖片", @"")
delegate:self
cancelButtonTitle:NSLocalizedString(@"取消", @"")
destructiveButtonTitle:nil
otherButtonTitles:NSLocalizedString(@"相機", @""), NSLocalizedString(@"相簿", @""), nil];
} else {
choosePhotoActionSheet = [[UIActionSheet alloc] initWithTitle:NSLocalizedString(@"選取圖片", @"")
delegate:self
cancelButtonTitle:NSLocalizedString(@"取消", @"")
destructiveButtonTitle
:nil
otherButtonTitles:NSLocalizedString(@"相簿", @""), nil];
}
[choosePhotoActionSheet showInView:self.view];
}
3、實現代理方法
#pragma mark - UIActionSheetDelegate
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
NSUInteger sourceType = 0;
if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
switch (buttonIndex) {
case 0:
sourceType = UIImagePickerControllerSourceTypeCamera;
break;
case 1:
sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
break;
case 2:
return;
}
} else {
if (buttonIndex == 1) {
return;
} else {
sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
}
}
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
imagePickerController.delegate = self;
imagePickerController.allowsEditing = YES;
imagePickerController.sourceType = sourceType;
[self presentViewController:imagePickerController animated:YES completion:^{
}];
}
#pragma mark - UIImagePickerControllerDelegate
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[self dismissViewControllerAnimated:YES completion:^{
}];
self.tmpHeaderImg = [info objectForKey:UIImagePickerControllerEditedImage];
[self.imageViewUserHead setImage:self.tmpHeaderImg];
[self uploadImage];
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
[self dismissViewControllerAnimated:YES completion:^{
}];
}