0
votes

addgesurerecognizer à droitebarbuttonitem avec personnageview

Comment puis-je ajouter une action à mon rightbarbuttonitem avec CustomView ?

J'ai maintenant le code: xxx

Mais si je passe sur barbouttonitem je ne peux pas voir mon Imprimer ("Tap") dans la console. Où est mon problème?


0 commentaires

5 Réponses :


0
votes

Utilisez uitapgesurerecognizer fort> comme ci-dessous

let tap = UITapGestureRecognizer(target: self, action: #selector(ChatsViewController.didTapImageButton(_:)))
tap.numberOfTapsRequired = 1
imageView.addGestureRecognizer(tap)


0 commentaires

0
votes

Je vois que vous utilisez une classe de reconnaissance de gestes de base, vous devez utiliser uitapgesurerecognizer à la place.


0 commentaires

0
votes
  • 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> XXX PRE> LI>

  • La propriété ci-dessus doit faire false code> pour obtenir des contraintes de travail de manière programmatique. p> li>

  • Une autre option est que vous venez de spécifier la hauteur et la largeur des contraintes, mais vous n'a pas spécifié la position x position em> et position Y em>. strong> Vous devez spécifier (x, y) strong> position. p> li>

    avec imageview strong> p>

    à l'aide de la vue Image Vous pouvez effectuer ce qui suit. P>

    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
    


0 commentaires

0
votes

Vous utilisez la classe de base pour GESTURE RECONNISER, il suffit d'utiliser uitapesteurecognizer dans votre code comme mis à jour ci-dessous: xxx


0 commentaires

0
votes

J'ai une préoccupation avec votre approche en obtenant un événement en utilisant geste . Il serait préférable d'obtenir un événement en utilisant ibaction .

Pour cela, vous pouvez ajouter une vue personnalisée ( uIView ) dans votre NavigiseItem et ajouter uiImage et uibutton En tant que sous-visez de cette vue personnalisée.

Une fois que vous avez terminé avec la pièce UI souhaitée, vous pouvez créer un ibaction pour le bouton ajouté.

L'image suivante est une approche initiale de votre utilisateur ui Vous pouvez ajouter des sous-espions ici

 Entrez la description de l'image ici


0 commentaires