2017-03-07 1 views
0

modal ont une telle partie de mon story-board:Présentation UIImagePickerController de ViewController

enter image description here

Je veux présente de UserProfileController: UIViewController "Мой профиль", qui est modal, (en haut sur l'image) UIImageViewController.

Mon code:

extension UserProfileController: UIImagePickerControllerDelegate, UINavigationControllerDelegate { 
    @IBAction func imagePressed(_ sender: Any) { 
     let imagePickerController = UIImagePickerController() 
     imagePickerController.delegate = self 
     self.present(imagePickerController, animated: true, completion: nil) 
    } 

    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { 
     guard let image = info[UIImagePickerControllerOriginalImage] as? UIImage else { 
      return 
     } 
     picker.dismiss(animated: true, completion: nil) 
     userProfileImageView.image = image 
    } 
} 

Eh bien, imagePickerController présenté, mais après je choisis l'image j'ai rejeté les deux contrôleurs (imagePickerController et parent - UserProfileControler).

Qu'est-ce que je fais mal? Merci

P.S. Peut-être problème est que je montre "SideMenuNavigationController" comme modal? (Donc conseillé dans la documentation cadre SideMenu)

+0

pourrait essayer de mettre l'@IBAction en dehors de l'extension? – Adolfo

+0

Déjà fait, IBAction même que imagePicker: méthode didFinish dans le corps de la classe de déclaration – zzheads

Répondre

0

Essayez de vous créer référence UIImagePickerController dans votre classe (comme variable)

// to choose an image from the Camera Roll 
    fileprivate lazy var imagePicker: UIImagePickerController = { 
     let picker: UIImagePickerController = UIImagePickerController() 

     picker.allowsEditing = false 
     picker.sourceType = .savedPhotosAlbum 
     picker.delegate = self 

     return picker 
    }() 
+0

ne fonctionne pas, rejetant les deux – zzheads