Próbuję utworzyć UIButtonetykietę, 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.titleLabeljest ustawienie numberOfLines=0i użycie UILineBreakModeWordWrap. Ale to nie gwarantuje, że tekst będzie miał dokładnie dwa wiersze.
UILabelJednak 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ć UIButtonpracę z dwiema liniami? Czy jedynym rozwiązaniem jest utworzenie oddzielnego UILabeldo przechowywania tekstu i dodanie go jako podwidoku przycisku?
