web-dev-qa-db-fra.com

Alignement du titre UIButton et support multiligne

Comment définir le titre d'un UIButton pour qu'il soit aligné à gauche et comment afficher plusieurs lignes de texte dans un UIButton?

67
Raju

Voici le code pour faire l'alignement UIButton dans le code aussi: -

[myButton setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft];
187
Ian Kershaw

Pour définir l'alignement d'un UIButton, recherchez le bouton dans l'inspecteur d'attributs d'Interface Builder. Il y a une section intitulée Alignement. Réglez-le à gauche. Ou bien, ou ce que vous voulez.

enter image description here

Pour le faire dans le code, utilisez la propriété contentHorizontalAlignment de UIControl. Vous pouvez le définir sur l'une de ces propriétés:

UIControlContentHorizontalAlignmentCenter
UIControlContentHorizontalAlignmentLeft
UIControlContentHorizontalAlignmentRight
UIControlContentHorizontalAlignmentFill

[myButton setContentHorizontalAlignment:UIControlContentHorizontalAlignmentRight];

Aucune de ces options ne semble particulièrement bonne (comme vous pouvez le voir ci-dessus), et vous pourriez avoir plus de chance en utilisant la propriété contentEdgeInsets de UIButton pour repositionner le contenu.

Pour définir un titre multiligne sur un UIButton, consultez ce billet de forum qui décrit la modification du libellé du bouton.

Ou vous pouvez utiliser ce code pour créer rapidement un bouton sur 2 lignes:

myButton.titleLabel.textAlignment = UITextAlignmentCenter;
myButton.titleLabel.lineBreakMode = UILineBreakModeCharacterWrap;
[myButton setTitle:@"Siegfried\nRoy" forState:UIControlStateNormal];

enter image description here

Raju, n'oubliez pas de marquer les questions comme acceptées.

130
nevan king

En fait, vous pouvez définir lineBreakMode sur UILineBreakModeWordWrap ou UILineBreakModeCharacterWrap. Cela divise le texte en plusieurs lignes si nécessaire.

7
Marc

Essaye ça

    myButton.titleLabel.textAlignment = UITextAlignmentLeft;
    myButton.titleLabel.lineBreakMode = UILineBreakModeCharacterWrap;
    myButton.titleLabel.numberOfLines = 0;
6
rakeshNS

Pour ajouter un effet de paragraphe, vous pouvez modifier la taille du titre.

For alinea effect

3
Anthone