Ajout d'un deuxieme bouton à  droite dans la NavigationBar

allianallian Membre
06:30 modifié dans API UIKit #1
Bonjour tout le monde,
mon but est d'ajouter un deuxième bouton à  droite dans ma NavigationBar.
Pour le moment ça en met qu'un seul, voici mon code :

UIView *rightview = [[UIView alloc] initWithFrame:CGRectMake(0,0, 100,30)];<br /><br />	<br />	UIButton *addbutton = [[UIButton alloc] initWithFrame:CGRectMake(15,15,5,5)];<br />	UIImage *getimg2 = [UIImage imageNamed:@&quot;icon.png&quot;];<br />	[addbutton setImage:getimg2 forState:UIControlStateNormal];<br />	[rightview addSubview:addbutton];<br />	<br />	UIButton *searchbutton = [[UIButton alloc] initWithFrame:CGRectMake(15,15,5,5)];<br />	UIImage *getimg = [UIImage imageNamed:@&quot;iconHL.png&quot;];<br />	[searchbutton setImage:getimg forState:UIControlStateNormal];	<br />	[rightview addSubview:searchbutton];<br />	<br />	UIBarButtonItem *add = [[UIBarButtonItem alloc] initWithCustomView:rightview];<br />	<br />	self.navigationItem.rightBarButtonItem = add;<br />



J'ai déjà  vu sur le net que d'autres ont rencontré ce même problème, un seul des deux boutons s'affiche.
Merci de votre aide.

Réponses

  • Philippe49Philippe49 Membre
    06:30 modifié #2
    Tes deux boutons doivent être superposés (ils ont la même frame), tu n'en vois qu'un ...
  • allianallian Membre
    06:30 modifié #3
    oui oui j'allais modifier mon bout de code, ils étaient superposés mais la du coup meme si je vois les deux, comment faire pour attribuer un comportement différent à  chacun ?
    Parceque la c'est le meme bouton en faite si je ne me trompe pas vu que je fais :

    self.navigationItem.rightBarButtonItem = add;

  • Philippe49Philippe49 Membre
    06:30 modifié #4
    En faisant
    [addButton addTarget:myController selector:@selector(addAction) forControlEvents: UIControlEventTouchUpInside];

    et idem pour l'autre bouton, cela devrait marcher ...
  • allianallian Membre
    06:30 modifié #5
    oui merci cela fonctionne bien.
    :kicking:
Connectez-vous ou Inscrivez-vous pour répondre.