Je suis en train de faire un UIButton
qui a deux lignes de texte dans son titleLabel. C'est le code que j'utilise:
UIButton *titleButton = [[UIButton alloc] initWithFrame:CGRectMake(15, 10, frame.size.width-100, 100)];
titleButton.titleLabel.font = [UIFont boldSystemFontOfSize:24.0];
[titleButton setTitle:@"This text is very long and should get truncated at the end of the second line" forState:UIControlStateNormal];
titleButton.titleLabel.lineBreakMode = UILineBreakModeTailTruncation;
titleButton.titleLabel.numberOfLines = 2;
[self addSubview:titleButton];
Quand j'essaye de cela, le texte ne s'affiche sur une seule ligne. Il semble que la seule façon d'atteindre plus d'une ligne de texte en UIButton.titleLabel
est de fixer numberOfLines=0
et l'utilisation UILineBreakModeWordWrap
. Mais cela ne garantit pas que le texte soit exactement deux lignes.
En utilisant un simple UILabel
, cependant, ne fonctionne:
UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(15, 10, frame.size.width-100, 100)];
titleLabel.font = [UIFont boldSystemFontOfSize:24.0];
titleLabel.text = @"This text is very long and should get truncated at the end of the second line";
titleLabel.numberOfLines = 2;
titleLabel.lineBreakMode = UILineBreakModeTailTruncation;
[self addSubview:titleLabel];
Personne ne sait comment faire de l' UIButton
travailler avec deux lignes? Est la seule solution pour créer un UILabel
pour tenir le texte, et l'ajouter en tant que sous-vue de la touche?