Próbuję utworzyć UIButton
etykietę, która ma dwa wiersze tekstu w tytule. Oto kod, którego używam:
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];
Kiedy próbuję tego, tekst pojawia się tylko w jednej linii. Wydaje się, że jedynym sposobem na osiągnięcie więcej niż jednej linii tekstu UIButton.titleLabel
jest ustawienie numberOfLines=0
i użycie UILineBreakModeWordWrap
. Ale to nie gwarantuje, że tekst będzie miał dokładnie dwa wiersze.
UILabel
Jednak użycie zwykłego działa:
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];
Czy ktoś wie, jak wykonać UIButton
pracę z dwiema liniami? Czy jedynym rozwiązaniem jest utworzenie oddzielnego UILabel
do przechowywania tekstu i dodanie go jako podwidoku przycisku?