2014-01-30 3 views
6

Ist es möglich, die Kamerarolle direkt mit UIImagePickerController zu öffnen, aber immer noch die Zurück-Taste zu Ihrer Albumliste?UIImagePickerController in der Kamera öffnen

UIImagePickerControllerSourceTypeSavedPhotosAlbum öffnet nur die Kamerarolle ohne die Option, zu Alben zurück zu schieben.

+0

Ich habe versucht, alle Subviews und Sub-Sub-Ansichten durchlaufen, wo es ein "UITableView" abgeholt hat. Meine Intention war explizit 'tableView selectRowAtIndexPath: [NSIndexPath indexPathForRow: 0 inSection: 0] animiert zu nennen: NO scrollPosition: UITableViewScrollPositionNone];' aber ich erhalte beim Aufruf sofort einen 'unerkannten Selektor an Instanz gesendet'-Fehler. Es ist so, als ob die Ansicht aus dem Speicher gelöscht wurde oder so. – sooper

+0

@eyal Heute noch ein bisschen mehr hineingegraben. Es gibt keinen praktischen Weg, dies zu tun. Leider scheint meine Antwort unten "es kann nicht getan werden" die richtige ist. – memmons

Antwort

2

Leider ist die Antwort - es ist nicht möglich. Zumindest nicht über irgendeine Standardschnittstelle. Es könnte möglich sein, einige View-Hierarchie-Mining- oder Methoden-Swizzling-Vorgänge durchzuführen, um dies zu ermöglichen. Dann können Sie jedoch die App Store-Übermittlungsrezension nicht einhalten.

Vom Camera Programming Topics of iOS (bolded Hervorhebung von mir):

Anstatt die Kamera als Medienquelle verwenden, verwenden Sie die Kamera Rollen Album oder gespeicherten Fotos Album, oder die gesamte Foto-Bibliothek .

Und:

Quellart Um für das Surfen gespeichert Medien als die Picker zu konfigurieren ein neues Bild oder einen Film im Gegensatz zu erfassen, setzen Sie die source Eigenschaft auf einen der Fotoquellen gespeichert:

Verwenden UIImagePickerControllerSourceTypePhotoLibrary einen Browser zu präsentieren, dass Zugriff auf alle foto~~POS=TRUNC auf dem Gerät, einschließlich th liefert e Kamera Rollen Sie das Album auf Geräten mit einer Kamera.

Verwenden UIImagePickerControllerSourceTypeSavedPhotosAlbum einen Browser präsentieren, die Zugriff auf das Album Camera Roll beschränkt auf Geräte, die eine Kamera oder zum gespeicherten Fotos Album auf Geräte, die nicht tun.

0

Ich würde Ihnen eher empfehlen, benutzerdefinierte Bildauswahl wie elcimagepicker zu verwenden. Wenn Sie den Code richtig durchgegangen sind, können Sie mit kleinen Manipulationen das erreichen, was Sie wollen.

+0

Ich bin unglücklich, dass die Trolle, die Abzeichen für negative Bewertungen bekommen wollen, diese Antwort angenommen haben. Es gibt hier einen gültigen Punkt und auch eine gültige Lösung. – Totoro

0

Ich stieß auf die gleiche Situation.Und fand eine Lösung, hier ist der Code.Hoff es hilft.

pImagePicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; 
id albumCtrller = pImagePicker.topViewController; 
pImagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
[pImagePicker pushViewController: albumCtrller animated: NO]; 

Jetzt können Sie das Album öffnen und haben eine Zurück-Navigationstaste.

+0

Hat Ihre App den Apple-Überprüfungsprozess bestanden oder abgelehnt? – user523234

+0

Dieses Projekt wurde ausgeschaltet, erreichte nie den App Store. So traurig... –