29 votes

iOS UIButton avec UITextAlignmentLeft centrant toujours le texte ?

Problème :
Après avoir défini les paramètres d'un bouton titleEdgeInset y UITextAlignmentLeft le titre du bouton est toujours centré, et non aligné à gauche.

Détails :
J'ai un bouton de 200px de large utilisant un arrière-plan personnalisé avec une image sur la gauche. Comme je ne veux pas que le titre du bouton recouvre l'image, j'insère le titre à l'aide de la fonction titleEdgeInset=UIEdgeInsetsMake(0.0, 45.0, 0.0, 0.0); . Ainsi, la position x de l'étiquette du titre devrait commencer à 45px et se terminer à 200px. Je souhaite également que le titre du bouton soit aligné à gauche par rapport à l'image. textAlignment = UITextAlignmentLeft . Cependant, le texte du titre est toujours centré entre 45px et 200px, et non aligné à gauche.

Pourquoi ?

Voici le code correspondant :

button.titleEdgeInsets = UIEdgeInsetsMake(0.0, 45.0, 0.0, 0.0);
button.titleLabel.textAlignment = UITextAlignmentLeft;
[button setTitle:@"X"];

0voto

Mostafa Elbutch Points 46

Remplacez simplement le paramètre du bouton et essayez de définir la propriété contentHorizontalAlignment dans le paramètre :

-(UIButton *)yourButton {
      [_yourButton setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft];

    return _yourButton;
}

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