使用IBAction时无法从UIImagePickerController显示UIImage

时间:2010-05-27 06:01:44

标签: iphone uiimageview uiimage uiimagepickercontroller

我是xcode的新手。我尝试从UIImagePickerController中选择一个图像 然后按下按钮显示该图像。但是模拟器崩溃了。 在 .h 中,我使用

UIImage *dispimage; //in order to make a global image
-(IBAction) open;
-(IBAction) print;

.m 我有

- (void)viewDidLoad {
    self.imgPicker = [[UIImagePickerController alloc] init];
    self.imgPicker.allowsImageEditing = YES;
    self.imgPicker.delegate = self;
    self.imgPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
dispimage = [info objectForKey:UIImagePickerControllerOriginalImage];   
[self dismissModalViewControllerAnimated:YES];
}

-(IBAction) open{
    UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
    imagePicker.delegate = self;
    [self presentModalViewController:imagePicker animated:YES];
    [imagePicker release];
};
-(IBAction) print{
imageView.image=dispimage;
};

按下“打印”按钮时,sdk崩溃。 :( 任何帮助将不胜感激

提前致谢

1 个答案:

答案 0 :(得分:0)

以下是从UIImagePickerController

获取图像的代码
-(void)viewDidLoad 
{
     self.imgPicker = [[UIImagePickerController alloc] init]; 
     self.imgPicker.allowsImageEditing = YES;
     self.imgPicker.delegate = self; 
     self.imgPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
}

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{
     dispimage = [[info objectForKey:UIImagePickerControllerOriginalImage]retain];
     [picker dismissModalViewControllerAnimated:YES]; 
}

-(IBAction)open
{
    if(self.imgPicker == nil)
    { 
         self.imgPicker = [[UIImagePickerController alloc] init]; 
         self.imgPicker.allowsImageEditing = YES;
         self.imgPicker.delegate = self; 
         self.imgPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    }
    [self presentModalViewController:self.imagePicker animated:YES]; 
    [self.imagePicker release]; 
}

-(IBAction) print
{ 
      if(dispimage != nil)
      {
            imageView.image=dispimage; 
      }
};