2015-05-19 46 views
-3
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init] ; 
[imagePicker setAllowsEditing:YES] ; 
[imagePicker setDelegate:self] ; 
[imagePicker setMediaTypes:[NSArray arrayWithObjects:(NSString *)kUTTypeImage, nil]] ; 
[imagePicker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary] ; 
[self presentViewController:imagePicker animated:YES completion:nil] ; 
+2

用适当的格式发布您的问题。 –

+0

您可以添加输出控制台吗?什么是错误? – thedjnivek

回答

1

第1步:添加委托

@interface APPViewController : UIViewController <UIImagePickerControllerDelegate, UINavigationControllerDelegate> 

第2步:初始化UIImagePicker上点击按钮动作

- (IBAction)selectPhoto:(UIButton *)sender { 

    UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
    picker.delegate = self; 
    picker.allowsEditing = YES; 
    picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
    [self presentViewController:picker animated:YES completion:NULL];  
} 

第3步:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 

    UIImage *chosenImage = info[UIImagePickerControllerEditedImage]; 
    self.imageView.image = chosenImage; 
    [picker dismissViewControllerAnimated:YES completion:NULL]; 
} 

第4步:关闭控制器

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker 
{  
     [picker dismissViewControllerAnimated:YES completion:NULL];  
} 

注意:您发布的细节描述问题

0

您正在使用的UIImagePickerController作为变量而不是作为一个属性或特性,这意味着将在您的函数结束时被释放。将您的UIImagePickerController设置为属性或属性,然后该委托将工作。

0

如果您使用的是UIPopoverPresentationController,请确保在呈现imagePicker之前关闭弹出窗口。否则,它不会显示。

相关问题