2016-05-10 6 views
4

ich in der Lage bin, die UIImagePickerController zu starten, ein Bild zu machen:UIImagePickerController - Wählen Sie die gespeicherten Bilder in der Kameraansicht

func selectCamera(){ 
    if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.Camera) { 
     let imagePicker = UIImagePickerController() 
     imagePicker.delegate = self 
     imagePicker.sourceType = UIImagePickerControllerSourceType.Camera; 
     imagePicker.allowsEditing = true 
     self.presentViewController(imagePicker, animated: true, completion: nil) 
    } 
} 

und mit dieser Funktion aus den gespeicherten Bildern wählen:

func selectPicture() { 
    let picker = UIImagePickerController() 
    picker.allowsEditing = true 
    picker.delegate = self 
    presentViewController(picker, animated: true, completion: nil) 
} 

I kann entweder ein Bild aus meiner Bildergalerie am Telefon auswählen oder ein Bild machen.

Aber ich möchte eines der gespeicherten Bildergaleriebilder innerhalb der Kameraansicht wählen, wie es in der Standardkameraanwendung ist. Ist das möglich?

+0

nicht erhält Punkt, Bilder gespeichert und gespeicherte Bilder sind die gleiche Sache ! o..O –

Antwort

3

Wenn Sie Gallery Pics in der Kameraansicht haben möchten, müssen Sie eine benutzerdefinierte cameraOverlay-Ansicht erstellen, die eine Schaltfläche zum Öffnen der gespeicherten Bilder enthält.

, um es schneller zu machen, können Sie eine Bibliothek wie verwenden können ->https://github.com/GabrielAlva/Cool-iOS-Camera

Oder

Sie haben auch eine Aktion Blatt, Benutzer auffordert, zu wählen, welche Option er will. dieses

Check ->How to allow the user to pick a photo from his camera roll or photo library? & this ->https://github.com/chroman/CRMediaPickerController

-1

ich diese Lösung verwenden, ohne zusätzliche Bibliotheken. Zuallererst nicht vergessen, delegieren, UIImagePickerControllerDelegate und Navigation Delegate. Diese Thigns werden nur für imagePickerController benötigt.

Update, überprüfen Sie die Funktion saveImageViewToAlbum, stellen Sie sicher, dass Ihr ImageView Bild enthält, sonst werden Sie wahrscheinlich eine Ausnahme abfangen. Fügt dem gespeicherten Fotoalbum ein Foto hinzu. Der optionale completionSelector sollte die Form hat:

- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo; 

einfach dieses Projekt erstellt, und alles funktioniert auf schnelles, iOS 9,3

import UIKit 

    class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate { 

    @IBOutlet weak var choosenImageView: UIImageView! 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

    @IBAction func openAlbum(sender: UIButton) { 
     let imagePickerController = UIImagePickerController() 
     imagePickerController.delegate = self 
     imagePickerController.sourceType = UIImagePickerControllerSourceType.PhotoLibrary 
     self .presentViewController(imagePickerController, animated: true, completion: nil) 

    } 
    func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) { 

     choosenImageView.image = image 
     self .dismissViewControllerAnimated(true, completion: nil) 
    } 
@IBAction func saveImageViewToAlbum(sender: UIButton) { 
       UIImageWriteToSavedPhotosAlbum(choosenImageView.image!, nil, nil, nil) 
    } 
} 
+0

Lesen Sie die Frage noch einmal! –

+1

Nein Kumpel, er will, dass wenn die Kamera öffnet, hat es einen kleinen Knopf an der Unterseite, die die Fotobibliothek öffnet. Überprüfen Sie die Kamera-App auf dem iPhone. –

+0

Dafür habe ich openAlbum Funktion, aber ich denke ich vermisse etwas in Frage. –