2010-10-27 11 views
0

Je règle le titre d'un UIButton dynamiquement en utilisant [btn setTitle:x forState:UIControlStateNormal]. Est-il possible de dire par exemple, changer l'image d'arrière-plan de ce bouton, mais le référencer par son nom de titre? L'utilisation de titres de boutons comme ça est une mauvaise idée.Cibler un UIButton par son titre

Répondre

4

Si votre application est localisée pour une langue différente, le bouton est susceptible de se retrouver avec un titre différent et votre code va se casser. Cependant, UIView a quelque chose appelé une étiquette. Une balise est simplement une valeur entière que vous pouvez affecter à une vue à des fins d'identification. Si vous attribuez des valeurs de balise uniques à vos boutons, vous pouvez rechercher un bouton spécifique en demandant à son aperçu de le rechercher. Pour ce faire, en envoyant le viewWithTag: message au superview du bouton:

NSInteger kTagForMyButton = 7; 

UIButton *myButton = (UIButton *)[theSuperview viewWithTag:kTagForMyButton]; 

Sauf si vous avez une bonne raison d'utiliser des balises, je vous recommande le maintien d'une référence au bouton de sorte que vous n'avez pas à la chercher chaque fois que vous voulez le changer.