2010-07-26 9 views
0

J'essaie de mettre une étiquette dans un UIBarButtonItem. Voici ma méthode viewDidLoad:Comment définir une vue personnalisée pour UIBarButtonItem?

characterCountLabel = [[UILabel alloc] init]; 
characterCountLabel.text = @"HELLO"; 
charCountButton = [[UIBarButtonItem alloc]initWithCustomView:characterCountLabel]; 

Tout est raccordé correctement dans IB. Pourquoi l'étiquette n'apparaît-elle pas à l'intérieur de mon UIBarButtonItem?

Répondre

1

Deux choses me viennent à l'esprit. D'abord, votre étiquette n'a pas de cadre. Essayez d'utiliser

characterCountLabel = [[UILabel alloc] initWithFrame: 
           CGRectMake(0.0f, 0.0, 200.0f, 25.0f)]; 

Ensuite, pouvez-vous nous indiquer le code dans lequel vous avez réellement ajouté l'élément du bouton? À quoi l'ajoutez-vous - une barre de navigation ou une barre d'outils?

Quand vous dites que tout est relié à IB, de quoi parlez-vous? La barre d'outils? Barre de navigation? Utilisez-vous un contrôleur de navigation? Si ce n'est pas le cas, vous devriez pouvoir ajouter un élément à une barre de navigation dans IB.

Un peu plus d'information nous aiderait à vous aider.

+0

J'ai un UIToolBar dans IB. J'ai ajouté un UIBarButtonItem à la barre d'outils dans IB –

+0

Donc vous voulez ajouter un UILabel à l'UIBarButtonItem que vous avez créé dans IB? Je ne pense pas qu'il existe un moyen de définir le paramètre d'affichage personnalisé sur le UIBarButtonItem une fois qu'il est créé. Cela n'est fait que dans l'init, donc si vous avez un élément que vous connectez dans IB au charCountButton, vous pouvez avoir des problèmes. Je voudrais déconnecter cela et tout faire dans le code. –