6
votes

Police personnalisée ne présentant pas la diagèse en lettres majuscules

J'ai une sous-classe de uibutton code> qui utilise une police personnalisée. Le problème est que les lettres majuscules ne présentent pas la diagèse.

ci-dessous il y a des images de l'échantillon de même bouton avec et sans la police personnalisée. J'ai défini la couleur d'arrière-plan du titre sur le rouge pour voir ce qui se passe. P>

sans polices personnalisée forte> p>

 sans polices personnalisées p>

avec police personnalisée forte> p>

 avec police personnalisée p>

mon uibutton code> Sous-classe remplace éveakfromnib code> p >

- (void)awakeFromNib
{
    [super awakeFromNib];
    UIFont *font = [UIFont fontWithName:@"TitilliumText22L-Bold" size:self.titleLabel.font.pointSize];
    self.titleLabel.font = font;
}


6 commentaires

Vérifiez que ce problème peut être votre problème est identique comme Stackoverflow.com/questions/13225761/...


Obtenez le titre d'étiquette Ref et essayez d'augmenter sa hauteur peut être fonctionner


@Bob Apple Merci, cela peut être une solution de contournement laid. Quoi qu'il en soit, si quelqu'un connaît une meilleure solution qui serait géniale.


@amar j'ai déjà essayé ça


Stackoverflow.com/a/13822309/1328096


Stackoverflow.com/a/8314197/1328096


5 Réponses :


0
votes

On dirait que le texte dans la coupe, essayez de réduire la taille de la police ou de modifier le cadre de la titlelable (Propriété de Uibutton)


0 commentaires

4
votes

J'ai résolu ce problème en suivant cette réponse sur la question partagée par Bob https://stackoverflow.com/a/8314197/617787

La seule chose à conscience de cette solution (modification du "Ascender" du fichier de polices) est que l'espace entre les lignes d'Uilabels multilés à l'aide de cette police modifiée changera également, de sorte que vous pourriez utiliser Nsattributedingstring pour la modifier dans une base par cas.


0 commentaires

1
votes

J'ai fait des tests à ce sujet avec des caractères turcs, voir le résultat:

3 boutons et 1 Uilabel avec neoSanspro font et capitale tr caractère

  1. Uilabels montrent les lettres majuscules correctement.
  2. UIButton avec Helvetica Font affiche les caractères correctement (troisième bouton) mais le problème se produit avec tous les membres de la famille NeoSanspro.
  3. Le problème ne se produit que sur la ligne supérieure de l'étiquette de titre (bouton 2)

    la solution:

    pratiquement un piratage, utilisez à vos risques et périls. Je préférerais recommander Follwign La réponse de Javier ci-dessus

    1. Définissez le nombre de lignes du titre: 0
    2. Définir le titre "\ NBUTON TITTER" au lieu de "TITRE DE BOUTON"
    3. Dans l'IB ou le code, jouez avec le contenu et l'alignement du titre, jusqu'à ce que le titre soit affiché correctement. Vous devriez pousser le titre un peu vers le haut si vous le souhaitez au milieu

0 commentaires

0
votes

J'ai eu un problème similaire, où une diagèse a été coupée sur le Titlelabel. J'ai fait une sous-classe UIBUTTON et utilisé ce code pour résoudre le problème:

-(void)layoutSubviews
{
    [super layoutSubviews];

    CGRect frame = self.titleLabel.frame;
    frame.size.height = self.bounds.size.height;
    frame.origin.y = self.titleEdgeInsets.top;
    self.titleLabel.frame = frame;
}


0 commentaires

4
votes

solution facile et meilleure.

  1. Sélectionnez le bouton de l'interface
  2. Dans l'inspecteur des attributs, modifiez l'alignement vertical comme indiqué dans l'image.


0 commentaires