UIImagePickerController ios 5 выдает при выборе изображения с помощью UIPopoverController в ipad - PullRequest
2 голосов
/ 15 июля 2011

У меня проблема с выбором изображения из UIImagePickerController в ipad в ios 5. Тот же код был отлично выполнен в ios 4.

, так в чем же проблема?Кто-нибудь может мне помочь, как использовать UIImagePickerController в IOS 5?Есть ли разница между ios 4 и ios 5 для UIImagePickerController?

Ниже приведен код проблемы.

-(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
    }
}

После выбора изображения из UIImagePicker в методе imagePickerController: didFinishPickingMediaWithInfo я получилссылка на изображение 0 * 0

Спасибо

1 Ответ

1 голос
/ 26 декабря 2011

попробуйте

       -(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];
    }
...