46 votes

iOS - Identificateur UIBarButtonItem - option permettant de créer un bouton "Paramètres" à crémaillère

Je veux créer un UIBarButtonItem pour représenter les paramètres de l'application (roue dentée). Actuellement, je ne trouve qu'une option pour créer UIBarButtonItem (constructeur d'interface> inspecteur d'attributs> identifiant) telle que "Ajouter" (+), "Modifier", "Terminé", "Annuler", etc.

Je ne trouve pas d'option pour créer une icône de paramètres (à crémaillère). Y a-t-il une manière de faire ceci dans le constructeur d'interface ou par le code?

Ou dois-je créer une image et ensuite l'image?

64voto

CodaFi Points 29073

Unicode a plusieurs exemples notables que vous pouvez simplement copier et coller dans une chaîne de déclaration dans Xcode, ou utiliser le standard Unicode Chaîne d'Échappement (\uxxxx) et iOS est en fait assez couramment quand il s'agit de l'Unicode (je sais que certains de la char sont assez moche, mais c'est de l'Unicode pour toi'):

Caractère Unicode 'ENGINS SANS HUB' (U+26ED): http://www.fileformat.info/info/unicode/char/26ed/index.htm

Caractère Unicode 'GEAR' (U+2699): http://www.fileformat.info/info/unicode/char/2699/index.htm

Ou préparer une image et de définir les UIBarButtonItem de customView propriété en conséquence.

16voto

GxocT Points 453

Composer CodaFi et user1046037 répond:

Créer UIBarButtonItem avec un caractère Unicode comme titre.

Vous devez initialiser UIBarButtonItem avec le titre ( initWithTitle: ) et non le système ( initWithBarButtonSystemItem: ).

Vous pouvez définir un titre personnalisé avec une chaîne (telle qu'un caractère unicode).

Vous pouvez redimensionner le titre.

 UIBarButtonItem *settingsButton = [[UIBarButtonItem alloc] initWithTitle:@"\u2699" style:UIBarButtonItemStylePlain target:self action:@selector(showSettings)];

UIFont *customFont = [UIFont fontWithName:@"Helvetica" size:24.0];
NSDictionary *fontDictionary = @{UITextAttributeFont : customFont};
[settingsButton setTitleTextAttributes:fontDictionary forState:UIControlStateNormal];
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X