2

iOS 5のiPadでUIImagePickerControllerから画像を選択する際に問題があります。同じコードはiOS 4で完全に実行されました。

問題は何ですか?iOS 5 で UIImagePickerController を使用する方法を教えてもらえますか? UIImagePickerController の ios 4 と ios 5 に違いはありますか?

以下は、問題のコードです。

-(IBAction)selectExitingPicture:(id)sender
{

    if ([popoverController isPopoverVisible]) {
        [popoverController dismissPopoverAnimated:YES];
        [popoverController release];
    } else {
        if ([UIImagePickerController isSourceTypeAvailable:
             UIImagePickerControllerSourceTypePhotoLibrary])
        {
            UIImagePickerController *imagePicker =
            [[UIImagePickerController alloc] init];
            imagePicker.delegate = self;
            imagePicker.sourceType =
            UIImagePickerControllerSourceTypePhotoLibrary;
            imagePicker.mediaTypes = [NSArray arrayWithObjects:
                                      (NSString *) kUTTypeImage,
                                      nil];
            imagePicker.allowsEditing = NO;

            popoverController = [[UIPopoverController alloc]
                                      initWithContentViewController:imagePicker];

            popoverController.delegate = self;


            [popoverController presentPopoverFromRect:CGRectMake(280, 700, 320, 400) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];

            [imagePicker release];

        }
    }

}


-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    [popoverController dismissPopoverAnimated:true];


    NSString *mediaType = [info
                           objectForKey:UIImagePickerControllerMediaType];
    [self dismissModalViewControllerAnimated:YES];
    if ([mediaType isEqualToString:(NSString *)kUTTypeImage]) {

    UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];

        selectedImageView.image = image;

    }
    else if ([mediaType isEqualToString:(NSString *)kUTTypeMovie])
    {
        // Code here to support video if enabled
    }
}

imagePickerController:didFinishPickingMediaWithInfo メソッドで UIImagePicker から画像を選択した後、画像参照 0*0 を受け取りました

ありがとう

4

1 に答える 1

1

これを試して

       -(IBAction)buttonpressed{ 
        UIImagePickerController *anImagePickerController = [UIImagePickerController new];
        anImagePickerController.delegate = self;
        anImagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;

        UIImageView *anImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"overlay_320x427.png"]];
        anImageView.frame = CGRectMake(0, 1, 320, 427);
        anImageView.hidden = YES;
        anImagePickerController.cameraOverlayView = anImageView;

        [self presentModalViewController:anImagePickerController animated:YES];
        [anImagePickerController release];

        [NSTimer scheduledTimerWithTimeInterval:0.1
                                         target:self
                                       selector:@selector(timerFireMethod:)
                                       userInfo:anImageView
                                        repeats:NO];
        [anImageView release];
    }
    - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)info {




 /* Do something here*/
        [self dismissModalViewControllerAnimated:YES];




    }

    - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
        [self dismissModalViewControllerAnimated:YES];
    }
于 2011-12-26T12:07:16.993 に答える