[Résolu] UIBarButtonItem Centré

iLandesiLandes Membre
juin 2017 modifié dans API UIKit #1

Comment centrer un bouton?


 


J'ai le code pour mettre un bouton à  gauche dans la barre de navigation, j'ai le même pour mettre à  droite mais je souhaite ajouté un bouton au centre.



  let menuBurger = UIBarButtonItem(image: #imageLiteral(resourceName: "Hamburger"),
                                                 style: .plain,
                                                 target: self,
                                                 action: #selector(presentHamburgerMenu))
        
        self.navigationItem.leftBarButtonItem = menuBurger

Au centre il s'agit du titre, j'ai réussi à  placer une image mais pas un bouton avec une action



let imageView = UIImageView(image:logo)
self.navigationItem.titleView = imageView

J'ai réussi à  faire cela aussi qui me permet de détecter le Tap mais qui n'affiche pas l'image



 let logoButton = UIButton(type: .custom)
 logoButton.setImage(logo, for: .normal)
 logoButton.addTarget(self, action: #selector(tapLogo), for: .touchUpInside)
        
        
 self.navigationItem.title = "No Title"
 self.navigationItem.titleView = logoButton

Si vous avez des pistes à  explorer...


D'avance Merci


Mots clés:

Réponses

  • CéroceCéroce Membre, Modérateur
    Je pense que tu as juste mal réglé l'image.


  • Je pense que tu as juste mal réglé l'image.




     


    ici ?



    logoButton.setImage(logo, for: .normal)
     
  • CéroceCéroce Membre, Modérateur
    oui, par exemple l'alignement ou la taille de l'image.
    Essaie dans un storyboard avant de le faire par le code.
  • iLandesiLandes Membre
    juin 2017 modifié #5

    J'ai essayé avec la même image que j'utilise à  gauche (voir le code plus haut) le résultat est le même.


     


    Par contre comme cela l'image s'affiche bien



    // Logo like as a Button
            let logoButton = UIButton(type: .infoDark)
            //logoButton.setImage(#imageLiteral(resourceName: "Hamburger"), for: .normal)
            logoButton.addTarget(self, action: #selector(tapLogo), for: .touchUpInside)
            
            
            self.navigationItem.title = "No Title"
            self.navigationItem.titleView = logoButton

    Je dois pas être loin de la solution...


  • Cela venait bien de l'image, le code est donc :



         // Logo like as a Button
            let logoButton = UIButton(type: .custom)
            logoButton.setImage(#imageLiteral(resourceName: "MyLogo"), for: .normal)
            logoButton.sizeToFit()
            logoButton.addTarget(self, action: #selector(tapLogo), for: .touchUpInside)
            
            self.navigationItem.title = ""
            self.navigationItem.titleView = logoButton

    Merci de votre participation


Connectez-vous ou Inscrivez-vous pour répondre.