Comment puis-je ajouter une action à mon J'ai maintenant le code: p> Mais si je passe sur rightbarbuttonitem code> avec
CustomView code>?
barbouttonitem code> je ne peux pas voir mon
Imprimer ("Tap") code> dans la console. Où est mon problème? P> p>
5 Réponses :
Utilisez uitapgesurerecognizer fort> comme ci-dessous let tap = UITapGestureRecognizer(target: self, action: #selector(ChatsViewController.didTapImageButton(_:)))
tap.numberOfTapsRequired = 1
imageView.addGestureRecognizer(tap)
Je vois que vous utilisez une classe de reconnaissance de gestes de base, vous devez utiliser uitapgesurerecognizer code> à la place. p>
Lorsque vous définissez des contraintes de manière programmative sur la vue qui est également créée de manière programmative, vous devez faire les choses suivantes ... P>
La propriété ci-dessus doit faire Une autre option est que vous venez de spécifier la hauteur et la largeur des contraintes, mais vous à l'aide de la vue Image Vous pouvez effectuer ce qui suit. P> false code> pour obtenir des contraintes de travail de manière programmatique. p> li>
let vw = UIButton(frame: .init(x: 0, y: 0, width: 34, height: 34))
vw.addTarget(self, action: #selector(ChatsViewController.didTapImageButton(_:)), for: .touchUpInside)
//set buttons other properties
let barButton = UIBarButtonItem(customView: vw)
navigationItem.rightBarButtonItem = barButton
Vous utilisez la classe de base pour GESTURE RECONNISER, il suffit d'utiliser uitapesteurecognizer code> dans votre code comme mis à jour ci-dessous:
J'ai une préoccupation avec votre approche en obtenant un événement en utilisant Pour cela, vous pouvez ajouter une vue personnalisée ( Une fois que vous avez terminé avec la pièce UI code> souhaitée, vous pouvez créer un L'image suivante est une approche initiale de votre utilisateur code> ui code> Vous pouvez ajouter des sous-espions ici p>
geste code>. Il serait préférable d'obtenir un événement en utilisant
ibaction code>. p>
uIView code>) dans votre
NavigiseItem code> et ajouter
uiImage code> et
uibutton code > En tant que sous-visez de cette vue personnalisée. p>
ibaction code> pour le bouton ajouté. p>