2

Je voudrais avoir un UIViewController qui a une Ajouter et un bouton Corbeille à la fois droit au titre, soit en ajoutant deux UIBarButtonItems à l'élément de navigation/barre ou en les ajoutant à un UISegmentedControl puis en ajoutant le SegmentedControl à l'élément. Est-ce possible? Si oui, comment cela se passe-t-il le mieux?Ajouter à la fois UIBarButtonSystemItemAdd et UIBarButtonSystemItemTrash d'un côté d'un élément de navigation ou un UISegmentedControl

Répondre

0

J'ai fait quelque chose de similaire. J'ai ajouté deux UIButtons à un élément/une barre de navigation en créant une sous-classe UIView contenant deux UIButtons. Vous pouvez alors faire quelque chose comme ceci:

MyUIViewSubclass *tempview = [[[MyUIViewSubclass alloc] initWithFrame:CGRectMake(234,4,84,30)] autorelease]; 
UIBarButtonItem newButton = [[[UIBarButtonItem alloc] initWithCustomView:tempview] autorelease]; 
[self.navigationItem setRightBarButtonItem:newButton animated:NO]; 

Tout ce que vous avez à faire est la mise en page les boutons MyUIViewSubclass et vous êtes bon.

De plus, je transmets l'ID de la cible dans une commande init personnalisée pour faciliter le ciblage des boutons dans la vue. Donc, pour MyUIViewSubclass au lieu de initWithFrame, j'ai quelque chose comme ceci:

- (id)initWithFrame:(CGRect)aRect andTarget:(id)newTarget { 
    if (self = [super initWithFrame:aRect]) { 



     UIButton *editbtn = [[[UIButton alloc] initWithFrame:fframe] autorelease]; 
     [editbtn addTarget:newTarget action:@selector(MBEdit) forControlEvents:UIControlEventTouchUpInside]; 

     [self addSubview:editbtn]; 
     [self setFirstbutton:editbtn]; 
     [editbtn release]; 



     UIButton *newbtn = [[[UIButton alloc] initWithFrame:fframe] autorelease]; 
     [newbtn addTarget:newTarget action:@selector(MBNew) forControlEvents:UIControlEventTouchUpInside]; 

     [self addSubview:newbtn]; 
     [self setSecondbutton:newbtn]; 
     [newbtn release]; 

    } 

    return self; 

} 
+0

Mais je devrais encore peindre les UIButtons moi-même pour les faire ressembler aux boutons de la barre de navigation, non? Je serais parfaitement heureux d'utiliser un UISegmentedControl (qui me sauverait les tracas de la peinture) - mais ce dont j'ai vraiment besoin, ce sont les icônes de la corbeille iPhone +. Je préférerais une solution encore plus élégante (comme avoir des codes de lettre Unicode pour le gras + et la poubelle), cependant. – MrMage

+0

En fait, j'ai juste pris une capture d'écran et utilisé l'image pour mes boutons. Je suis presque certain que vous pouvez également ajouter un contrôle segmenté à la vue au lieu de deux boutons. Cela fonctionnerait aussi bien. – mjdth

1

Vous pouvez ajouter plusieurs boutons à un élément de navigation en les enveloppant dans un UIToolbar, sample code.

Questions connexes