Problem mit ImagePickerController

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Problem mit ImagePickerController

    Hallo OSX Entwickler,

    ich habe einen ImagePickerController erstellt und weise ihm als Delegate meinen ViewController zu:

    Quellcode

    1. - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
    2. {
    3. [segue.destinationViewController setDelegate:self];
    4. }


    *Ich habe die beiden Controller per Storyboard Segue verbunden und nutze deshalb die prepareForSegue Funktion*

    Ich sage, wenn ein Bild ausgewählt wurde, soll mein ImageView ivNewPicture dieses Bild anzeigen:

    Quellcode

    1. - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
    2. {
    3. ivNewPicture = [editingInfo objectForKey:UIImagePickerControllerEditedImage];
    4. }


    Jetzt der Test:
    Es funktioniert nicht.
    Wenn man ein Bild auswählt, passiert nichts, der ImagePickerController verschwindet nicht.
    Was habe ich falsch gemacht?
  • Das funktioniert jetzt, aber mein Bild wird nicht angezeigt.

    Quellcode

    1. - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
    2. {
    3. [self dismissModalViewControllerAnimated:YES];
    4. ivNewPicture.image = [editingInfo objectForKey:UIImagePickerControllerEditedImage];
    5. }


    Wo liegt hier der Fehler?
  • Ich habe jetzt den Fehler gefunden, er liegt hier:

    Quellcode

    1. - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
    2. {
    3. if (segue.identifier == @"ImagePicker")
    4. {
    5. [segue.destinationViewController setDelegate:self];
    6. }
    7. }


    Diese if Bedingung wird nicht erfüllt.
    Ich habe mir mal den Identifier der Segue ausgeben lassen. Er lautet ImagePicker.
    Wieso funktioniert es dann nicht?
  • Danke, jetzt funktioniert das setzen des Delegates.
    Aber ein anderer Fehler ist aufgetreten:

    Quellcode

    1. - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
    2. {
    3. [self dismissModalViewControllerAnimated:YES];
    4. ivNewPicture.image = [editingInfo objectForKey:UIImagePickerControllerEditedImage];
    5. }


    Bei dieser Funktion ist das [editingInfo objectForKey:UIImagePickerControllerEditedImage] gleich nil.
    Somit wird auch das ivNewPicture auf nil gesetzt. Warum liefert es nicht das ausgewählte Image?