Estou tentando fazer um UIButton
que tenha duas linhas de texto em seu titleLabel. Este é o código que estou usando:
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];
Quando tento fazer isso, o texto só aparece em uma linha. Parece que a única maneira de obter mais de uma linha de texto UIButton.titleLabel
é definir numberOfLines=0
e usar UILineBreakModeWordWrap
. Mas isso não garante que o texto tenha exatamente duas linhas.
Usar uma planície UILabel
, no entanto, funciona:
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];
Alguém sabe fazer o UIButton
trabalho com duas linhas? A única solução é criar um separado UILabel
para conter o texto e adicioná-lo como uma subvisão do botão?