Sam
Sam

Reputation: 829

UITabbarController app: UIImagePickerController image is not shown

I need some help.

I have an app that is based on UITabBarController. It has 4 tabs. In the fourth tab, the user can select a picture from the library, or on iphone, take a picture. When an image is selected (or a photo is taken), after the picker is dismissed, the image is not shown. I am wrecking my head over it...help is much appreciated.

Here's the relevant code from the fourth view controller.

imageViewController.h:

@interface ImagesViewController : UIViewController <UINavigationControllerDelegate,
                                UIImagePickerControllerDelegate> {                                      
    IBOutlet    UIImageView         *ivImage;
}

@property (nonatomic, retain) IBOutlet  UIImageView         *myImage;

- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error  
                          contextInfo:(void *)contextInfo;                            
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker;
@end

imageViewController.m:

@synthesize myImage = ivImage;

-(void) imagePickerController: (UIImagePickerController *) picker 
            didFinishPickingMediaWithInfo:(NSDictionary *) imageInfo {

    [picker dismissModalViewControllerAnimated:YES];
    [picker release];
    picker = nil;

    UIImage *image = [imageInfo objectForKey:UIImagePickerControllerOriginalImage];             

    [[self myImage] image];
}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker { 
    [picker.parentViewController dismissModalViewControllerAnimated:YES];
    [picker release];
    picker = nil;
}

- (void)pickPicture {
    UIImagePickerController *picker = nil;

    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {      
        picker = [[UIImagePickerController alloc] init];

        picker.sourceType = UIImagePickerControllerSourceTypeCamera;    

        [picker setShowsCameraControls:YES];
        picker.delegate = self;
        picker.allowsEditing = NO;
        self.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
        [self presentModalViewController:picker animated:YES];
   }
}

Upvotes: 0

Views: 433

Answers (1)

Rahul Vyas
Rahul Vyas

Reputation: 28730

try [self.tabbarcontroller presentModalViewController:picker animated:YES];

Upvotes: 1

Related Questions