2012-03-26 13 views
0

Ich versuche, meine Anwendung ein Foto aus der Foto-Bibliothek des Benutzers mit UIImagePickerController nehmen und in der App anzeigen. Mein Code funktioniert gut für das iPhone, aber ich muss UIPopoverController für das iPad verwenden. Ich bin immer noch sehr neu im Programmieren, also habe ich eine wirklich schwierige Zeit, um herauszufinden, wie das geht. Beim Testen habe ich einen seltsamen Fehler bekommen. Der Debugger sagt "Beenden App aufgrund der nicht abgefangenen Ausnahme 'NSGenericException', Grund: '- [UIPopoverController dealloc] erreicht, während Popover noch sichtbar ist." aber ich nicht dealloc nichts, ich habe ARC eingeschaltet. Hier ist mein Code:iOS: UIPopoverController Fehler

ViewController.m:

#import "PhotoViewController.h" 


@implementation PhotoViewController 
@synthesize grabButton; 
@synthesize image; 
@synthesize imgPicker; 

- (IBAction)grabImage { 
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) { 
     UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:imgPicker]; 
     [popover presentPopoverFromRect:self.image.bounds inView:self.image permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 

    } else { 
     [self presentModalViewController:imgPicker animated:YES]; 
    } 
} 

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo { 
    image.image = img; 
    [[picker parentViewController] dismissModalViewControllerAnimated:YES]; 
} 

- (void)viewDidLoad 
{ 
    self.imgPicker = [[UIImagePickerController alloc] init]; 
    self.imgPicker.allowsImageEditing = YES; 
    self.imgPicker.delegate = self; 
    self.imgPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view from its nib. 

} 

Jede Hilfe ist sehr zu schätzen! Vielen Dank!

Antwort

Verwandte Themen