2017-08-22 2 views
0

J'essaie de faire un UIImageView nommé rDot tappable avec tapGesture. Lorsque la vue de l'image rDot est sélectionnée, je veux un autre UIImageView sur un autre viewController, nommé wCircle pour devenir rouge. Le problème est le code fonctionne, mais quand je tape rDot l'autre image wCircle ne devient pas rouge.tapGesture changer de couleur

override func viewDidLoad() { 
    super.viewDidLoad() 

    let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(imageTapped(tapGestureRecognizer:))) 
    rDot.isUserInteractionEnabled = true 
    rDot.addGestureRecognizer(tapGestureRecognizer) 
}  

func imageTapped(tapGestureRecognizer: UITapGestureRecognizer) 
{ 
let wCircle = UIImageView(image: UIImage(named:"wCircle")?.withRenderingMode(.alwaysTemplate)) //error here 
    wCircle.tintColor = UIColor.red 
} 
+0

** Vous ne pouvez pas changer votre question à quelque chose de complètement différent après qu'il a été répondu. ** C'est injuste pour les personnes qui ont des réponses écrites , et n'est pas autorisé sur Stack Overflow. Si vous avez une question de suivi, vous devriez poser une nouvelle question. Vous pouvez inclure un lien vers l'ancien si vous avez besoin de fournir un contexte. Puisque cette question est un gâchis, avec des réponses à toutes sortes de «versions» différentes de la question, je l'ai fermée. Demandez-en un nouveau si vous avez toujours un problème. –

Répondre

0

assurez-vous que vos actifs d'image a une image exactement nommée cas de « wCircle » sensible, à nouveau, en actifs non en paquet de projets, je pense que UIImageView n'a pas pu être initialisé car une image avec « wCircle » ne existe dans les ressources

0

La façon dont vous initialisez votre UITapGestureRecognizer est incorrecte. Essayez

UITapGestureRecognizer(target: self, action: #selector(ViewController.imageTapped(tapGestureRecognizer:))) 

Remplacez ViewController avec votre nom de classe du contrôleur

0

Assurez-vous que votre wCircle objet est présent et initialiser avec succès

1

Dans le contexte du code Swift, EXC_BAD_INSTRUCTION signifie généralement que vous avez touché un compilateur trap, c'est-à-dire une instruction indéfinie insérée dans le code par le compilateur à cause d'un bug détecté lors de l'exécution. La cause la plus fréquente d'entre eux sont:

  1. non déroulez option - Cela peut être un Déballer forcé ou un Déballer implicite (accès à une option non emballés implicitement est nulle) (!).

  2. tableau

    hors limites

  3. un de la distribution forcée a échoué (comme!), Que ce soit parce que la valeur était une option nulle ou parce que la valeur était du mauvais type.

Vérifiez si wCircle n'est pas nul. Vérifiez si la prise est correctement connectée.

0

Qu'est-ce que c'est «WCircle»? UIImage n'a aucune propriété appelée tintColor, si vous voulez changer la couleur de l'image changez son conteneur UINmageView's tintColor

+0

Les deux images sont UIImageViews – Tabj