2011-07-15 163 views
2

ios 5でipadのUIImagePickerControllerからイメージを選択する際に問題があります。 ios 4で完全に同じコードが実行されました。UIImagePickerControllerは、ipadでUIPopoverControllerを使用してイメージを選択すると問題が発生します。

だから問題は何ですか? 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にUIImagePickerから画像を選択した後:didFinishPickingMediaWithInfo方法を私は0 * 0

おかげで

+0

あなたが依頼する必要があるだろうこれはAppleのDevフォーラムの下で、NDA以来ここにはない – Sum

答えて

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]; 
    } 
関連する問題