Frage UIImagePickerController im Storyboard: UIImagePickerControllerSourceTypePhotoLibrary zeigt einen schwarzen Bildschirm an


Ich habe ein Storyboard, in dem ich ein UINavigationController Instanz und legen Sie seine benutzerdefinierte Klasse auf UIImagePickerController.

Wenn ich setze imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera im prepareForSegueAlles funktioniert gut.

Wenn ich setze imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary im prepareForSegueIch bekomme einen meist schwarzen Bildschirm mit einem leeren grauen Balken oben, den ich nicht weglassen kann:

[zukünftiger Ort des Screenshots - ich kann keine Bilder hochladen]

Ich kann das umgehen, indem ich das Storyboard nicht verwende. Die Frage, die ich habe - kann das mit dem Storyboard funktionieren? Wenn nicht, warum nicht? Warum funktioniert es nur zum Präsentieren der Kamera?

Bearbeiten: Ein Kollege kommentiert, dass dies ein neues Problem für iOS7 sein kann

Der folgende Code funktioniert nicht, wenn der Übergang von einem Storyboard ausgelöst wird

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    NSAssert([segue.destinationViewController isKindOfClass:[UIImagePickerController class]], @"Destination VC should be UIImagePickerController");

    UIImagePickerController *imagePicker = (UIImagePickerController*) segue.destinationViewController;

    imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    imagePicker.allowsEditing = YES;
    imagePicker.delegate = self;

}

5
2018-03-03 21:45


Ursprung


Antworten:


Diese Frage ist ein Duplikat von iOS7 Storyboard-Bildauswahl funktioniert nicht :(

Die Antwort dort:

Initialisieren Sie den Controller UIImagePickerController *controller = [[segue destinationViewController] init];

... scheint für die meisten Leute zu funktionieren, also habe ich empfohlen, das als Duplikat dieser Frage zu schließen, die eine Weile beantwortet wurde.


2
2018-01-17 21:15



Definitiv seltsam. Die einzige Lösung, die ich bisher gefunden habe, ist hier: ios7-Storyboard-Bild-Picker-funktioniert nicht

Sie müssen die UIImagePickerControllerInstance aus dem gleichen Grund manuell initiieren. Ich vermute, dass es mit der 'initWithCodec' Methode des UIImagePickers etwas Funkhaftes gibt, aber es ist schwer zu sagen ohne Zugriff auf den Quellcode (danke Apple ...).

P.S. Stellen Sie sicher, dass Sie auch den richtigen Segue-Typ verwenden. UIImagePickerController ist wählerisch darüber, wie jeder Modus angezeigt wird. 'Kamera' kann modal oder popover sein (modal wird empfohlen). FotoLibrary MUSS mit einem Popover angezeigt werden.


0
2017-08-15 20:29