Pourquoi la taille UIFONT avec un espace vierge dans son calcul?
Question
Je définis un cadre Uilabels en fonction de ce qui est renvoyé par Uifont Size avecfont, mais pour une raison quelconque lorsque j'utilise une police personnalisée, les valeurs renvoyées incluent un rembourrage comme indiqué ci-dessous.
Quand j'utilise BoldSystemFontofSize Le texte est aligné verticalement au milieu (C'est ce que je veux), mais quand j'utilise nom Je me retrouve avec un rembourrage sous le texte. Une raison pour laquelle Taille avec L'ajout dans le rembourrage?
Voici mon code ...
CGRect frameLabel = label.frame;
CGSize sizeLabel = [label.text sizeWithFont:label.font];
frameLabel.size.width = sizeLabel.width;
frameLabel.size.height = sizeLabel.height;
[label setBackgroundColor:[UIColor redColor]];
** Éditer **
Je peux calculer le rembourrage supérieur et inférieur à l'aide de ce code et ajuster les étiquettes frame.origin.y pour centrer verticalement mon label où il doit être
float topPadding = [label.font ascender] - [label.font capHeight];
float bottomPadding = [label.font lineHeight] - [label.font ascender];
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow