0

UIImagePickerController の使用に少し問題があります... ユーザーが iPhone ライブラリから選択した画像を使用し、viewController をインスタンス化するときに使用したいと思います。

最初に、ユーザーは StartWithImage ボタンをクリックする必要があります。

-(IBAction)startWithImage:(UIButton *) sender
{
    self.imgPicker = [[UIImagePickerController alloc] init];
    self.imgPicker.delegate = self;
    self.imgPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    [self presentModalViewController:self.imgPicker animated:YES];
}

- (void)imagePickerController:(UIImagePickerController *)imagePicker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{
    [self dismissModalViewControllerAnimated:YES];
    [imagePicker release];
    //UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
    photo =(UIImage *) [info objectForKey:UIImagePickerControllerOriginalImage];
    //code for starting game
}

これが私の viewController をインスタンス化する方法です:

imageSliderViewController = [[ImageSliderViewController alloc] initWithSize:colMax :rowMax:photo];

私のView Controllerは、次のようにviewDidLoadで写真を使用します:

CGImageRef cgImg = CGImageCreateWithImageInRect(photo.CGImage, CGRectMake(ox, oy, width-1, height-1));//-1 for block effect

EXC_BAD_ACCESS エラーが発生します...

4

1 に答える 1

0

EXC_BAD_ACCESS は通常、オブジェクトが解放されたときに発生し、どこかでこのオブジェクトにアクセスしようとします。

これを試して

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

    //UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
    photo =(UIImage *) [info objectForKey:UIImagePickerControllerOriginalImage];
    //code for starting game

    // dismiss controller after working with it
    [self dismissModalViewControllerAnimated:YES];
    [imagePicker release];
}
于 2013-11-06T13:24:49.570 に答える