Ich versuche, eine zu UIButton
erstellen, deren titleLabel zwei Textzeilen enthält. Dies ist der Code, den ich verwende:
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];
Wenn ich das versuche, erscheint der Text nur in einer Zeile. Es scheint, dass der einzige Weg, um mehr als eine Textzeile zu erreichen UIButton.titleLabel
, das Festlegen numberOfLines=0
und Verwenden ist UILineBreakModeWordWrap
. Dies garantiert jedoch nicht, dass der Text genau zwei Zeilen umfasst.
Die Verwendung einer Ebene UILabel
funktioniert jedoch:
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];
Weiß jemand, wie man die UIButton
Arbeit mit zwei Zeilen macht? Ist die einzige Lösung, eine separate Lösung für UILabel
den Text zu erstellen und ihn als Unteransicht der Schaltfläche hinzuzufügen?