2010-07-09 2 views
7

Dans IB j'ai vue avec une UIButton de type personnalisé, il n'a pas d'image et le titre est défini comme « #placeholder »Arrêt d'une mesure UIButton remise à zéro TitleLabel à défaut IB sur l'événement de tir

La vue est jointe à une classe qui fournit un IBOutlet et un IBAction pour le bouton.

Je définis le titre du bouton avec ceci: ViewClass.ButtonOutlet.titleLabel.text = @"%@",stringifiedVariable; chaque fois que j'en ai besoin.

Cela fonctionne bien. Toutefois, lorsque je clique sur le bouton, le titleLabel.text revient à "#placeholder".

J'ai essayé de décocher 'Ajuster l'image en surbrillance' dans la section Dessin (onglet attributs) de l'Inspecteur mais le comportement était toujours le même.

Ce changement peut-il être évité? ou y a-t-il un meilleur modèle que je devrais utiliser?

Répondre

12

UIButton dispose d'une méthode spéciale pour définir l'étiquette.

  • (void) setTitle: (NSString *) Titre forState: (UIControlState) état

Par exemple

NSString *buttonText = [NSString stringWithFormat:@"%@",stringifiedVariable]; 
[ViewClass.ButtonOutlet setTitle:buttonText forState:UIControlStateNormal]; 

Consultez la documentation pour plus de détails.

+0

Merci pour la réponse rapide –

0

Si vous souhaitez que le texte ne change pas lorsque vous cliquez dessus, le plus simple est de retirer le titre du bouton dans IB, puis d'utiliser la méthode setTitle: forState: de Jongsma.

+0

J'ai d'abord essayé cela; le bouton n'affiche aucun texte du tout –

Questions connexes