Я пытаюсь создать объект UIButton
с двумя строками текста в заголовкеLabel. Это код, который я использую:
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];
Когда я пробую это сделать, текст появляется только в одной строке. Кажется, единственный способ получить более одной строки текста UIButton.titleLabel
- это установить numberOfLines=0
и использовать UILineBreakModeWordWrap
. Но это не гарантирует, что текст будет ровно двумя строками.
Однако использование равнины UILabel
действительно работает:
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];
Кто-нибудь знает, как сделать UIButton
работу с двумя строчками? Единственное решение - создать отдельный UILabel
текст для хранения и добавить его в качестве подпредставления кнопки?