Comment changer le texte de UIBarButtonItem par programme?
J'ai lu cet article:
Modifier le texte d'un UILabel (UIBarButtonItem) sur une barre d'outils par programmation
Mais il ne semble pas travailler pour mon auto-masquer la barre d'outils?
J'ai aussi essayé barbuttonItem.title
pour définir le texte, a échoué aussi.
Une idée?
source d'informationauteur Kordan Ou | 2010-04-22
Vous devez vous connecter pour publier un commentaire.
Êtes-vous créer le bouton dans
Interface Builder
? Assurez-vous que l'identificateur est défini sur Personnalisé, sinon vous ne serez pas en mesure de modifier le titre.Sélectionnez le
UIBarButtonItem
dansInterface Builder
ouvrez l'inspecteur(Command + Shift + I)
et sélectionnez "Personnalisé" sous le menu déroulant à côté deIdentifier
.Essayez ceci:
IBOutlet
pour laUIBarButtonItem
, outToMyButton dans cet exemple.m
outToMyButton.title = [NSString stringWithFormat:@"%i",myInt]; //or any NSString init
De changer le titre de
UIBarButtonItem
par programmationDans
BarButtonItem
ActionJe crois que mon problème a été semblables, mais non identiques, à la vôtre: je voulais que le texte sur un accessoire de la barre d'outils afin de refléter les sélections de la dernière sélecteur de composant.
Pourtant, j'ai été incapable de changer le texte d'un
UILabel
ajouté à unUIBarButtonItem
qui fait partie d'uninputAccessoryView
affiché sur un composant de plusieurs coulissantesUIPickerView
pour chacune de plusieurs données d'entréeUITextFields
. Ces éléments sont créés par programme (Xcode v 4.3 (4E109)), sauf pour les champs de texte, chaque de ce qui est créé dans le Storyboard et déclaré en tant que propriété.Ni l'attribution du texte à la toolbarTitle étiquette, puis alloc/init-ment le bouton de la barre d'élément avec toolbarTitle comme un affichage personnalisé:
A donné le comportement souhaité; c'est à dire, le texte de l'étiquette n'a pas changé, même si j'ai confirmé avec NSLog que j'était en effet d'envoyer le nouveau texte.
J'ai obtenu un indice de l'Docs sous
Custom Views for Data Input
Input Views and InputAccessory Views
:"Le premier intervenant peut recharger l'entrée et accessoire vues par l'appel de la
reloadInputViews
méthode deUIResponder
."Je l'ai fait en ayant l'actuel
UITextField
appelreloadInputViews
et cela a fonctionné pour moi avec l'un des deux fragments de code donné ci-dessus.