40 votes

Comment obtenir la taille de police d'une instance UIFont

Comment obtenir la taille de police d'une instance UIFont?

Ou, si quelqu'un peut implémenter cette méthode pour UIFont?

 - (UIFont *) boldFont;
 

39voto

EmilioPelaez Points 3561
-(UIFont *)boldFont{

//First get the name of the font (unnecessary, but used for clarity)
NSString *fontName = self.fontName;

//Then append "-Bold" to it.
NSString *boldFontName = [fontName stringByAppendingString:@"-Bold"];

//Then see if it returns a valid font
UIFont *boldFont = [UIFont fontWithName:boldFontName size:self.pointSize];

//If it's valid, return it
if(boldFont) return boldFont;

//Seems like in some cases, you have to append "-BoldMT"
boldFontName = [fontName stringByAppendingString:@"-BoldMT"];
UIFont *boldFont = [UIFont fontWithName:boldFontName size:self.pointSize];

//Here you can check if it was successful, if it wasn't, then you can throw an exception or something.
return boldFont;

}

27voto

Jhaliya Points 24039

Pour accéder à la taille de la police depuis votre instance UIFont, utilisez

  @property(nonatomic, readonly) CGFloat pointSize
 

Il y a plus de propriétés pour indiquer la taille de la police (pour les majuscules, les petites etc ...)

 capHeight,xHeight,pointSize 
 

Utilisez ci-dessous pour accéder à la police en gras

 UIFont* myboldFont = [UIFont boldSystemFontOfSize:11];
 

8voto

Ali Asad Points 25

Voici le moyen le plus simple de trouver la taille de police

 UIFont *anyFont;
//initialization and other stuff here
 

Maintenant, à un moment donné, vous voulez trouver sa taille

  CGFloat fontSize= [anyFont pointSize];
 

2voto

titaniumdecoy Points 7548

Utiliser le NSString+UIKit méthodes pour mesurer la taille d'une chaîne avec une certaine police.

L'iPhone traite de la normale et des caractères gras le nom de séparer complètement les polices, et comme il n'y a pas de moyen simple de convertir entre eux. Par exemple, ArialMT et Arial-BoldMT sont considérées comme totalement différentes polices de caractères par l'OS.

EDIT: j'ai peut-être mal compris votre question. Peut-être que vous êtes à la recherche pour le pointSize propriété de UIFont?

0voto

Marty Points 1893

Vous pouvez vérifier les caractères gras avec Core Text. Utilisez kCTFontBoldTrait .

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