0

Donc, je suis dans un contrôleur de navigation et je voudrais présenter un sélecteur d'image sur un bouton. Cela fonctionne bien, mais quand je rejette le sélecteur, il me renvoie au contrôleur de la vue racine, et non pas où je veux traiter l'image.Swift ImagePicker inside NavigationController

Ceci est mon code:

@IBAction func attachPhotoButtonPressed(sender: UIButton) { 
     imagePicker.sourceType = .SavedPhotosAlbum 
     presentViewController(imagePicker, animated: true, completion: nil) 
} 

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { 
    if let image = info[UIImagePickerControllerOriginalImage] as? UIImage { 
     print("Success") 
    } else{ 
     print("Something went wrong") 
    } 

    self.dismissViewControllerAnimated(true, completion: nil) 
} 

je l'ai déjà regardé ces questions, mais n'a pas trouvé une solution. (Pas un gars objectif-C)

Pushing a navigation controller is not supported- performing segues

presenting ViewController with NavigationViewController swift

Pushing a navigation controller is not supported

Répondre

0

La raison pour laquelle vous rebondissant au contrôleur de vue racine est parce que cette ligne

self.dismissViewControllerAnimated(true, completion: nil)

rejette la vue parente (auto) et n ot la vue du sélecteur. Donc, en supposant que vous avez une référence à votre préparateur, alors vous devriez appellerez

picker.dismissViewControllerAnimated(true, completion: nil)

+1

S'il était aussi facile que je l'avais compris maintenant, merci pour votre aide, je crois qu'il a quelque chose à faire avec comment la navigation est structurée en général (prise en charge de quelqu'un d'autre) Je l'ai résolu en écrivant mon propre sélecteur sur le cadre de photos qui fonctionne assez bien. – TimLR