Bonjour,
Voilà je rencontre un problème :
Je souhaiterai transférer une image sur un secondViewController en cliquant sur cet image depuis le viewController principal :
-
j’ai donc inclus un tapGesture à mon image ( cocher également mon « user Interaction Enabled » dans les propriétés de mon imageView! Un grand merci à Draken pour son aide)
Jusque là tout fonctionne quant je clique sur mon image je bascule bien sur mon secondViewController
-
j ai effectué ce code là pour le transfert d’info :
- et la par contre l’image qui est dans le viewController n’est pas transférer dans le second.
Je pense qu’il me manque quelque chose dans la func de mon tapGesture mais je ne trouve pas.
Si quelqu’un avait une idée.
Je vous en remercie par avance
Bonjour @jmbardin69,
dans ton ViewController si tu fais un
if let image1 = elementChoiceImage1.image, let secondScreen = segue.destination as? secondViewController
au final je tu n’es pas sur que tu rentres dans ta condition donc possiblement, tu n’y rentre pas et tu n’envoie rien tu devrait faire un print dans ton if let pour voir si tu y passes.
teste ça tu en mettant une image qui existe dans le else
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if (segue.identifier == "segue-ecran-1") {
let viewController = segue.destination as! secondViewController
if let image1 = elementChoiceImage1.image {
secondScreen.imageToDisplay = image1
} else {
secondScreen.imageToDisplay = UIImage(named : "le_nom_d_une_image_asset")
}
}
}
pense que la fonction prepare(for segue: UIStoryboardSegue, sender: Any?)
sera appeler quand tu fais un performSegue(withIdentifier: "segue-ecran-1", sender: self)
dans ton code ou que tu as fait une connexion via IB.
Damien
Je vais essayer, mais l’image n’est pas une image fixe elle est variable suivant l’action de d’un slider.
Je comprend bien juste passe lui une image fixe pour savoir si c’est bien tu arrives à la récupérer dans l’autre controller, fait par étape.
Je viens d’essqayer Et malheureusement ca ne marche pas. Merci quand même
Désolé mais on va trouver d’où ça viens 
Si tu mets un print comme ceci il s’affiche dans ta console?
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if (segue.identifier == "segue-ecran-1") {
if let image1 = elementChoiceImage1.image, let secondScreen = segue.destination as? secondViewController {
print("je passe dans prepare")
}
}
}
Du coup j ai trouver solution qui fonctionne :
ViewController.swift
SecondViewControler :
Merci pour ton aide, un regard extérieur ca a toujours du bon!