Ich versuche, eine zu UIButtonerstellen, 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=0und Verwenden ist UILineBreakModeWordWrap. Dies garantiert jedoch nicht, dass der Text genau zwei Zeilen umfasst.
Die Verwendung einer Ebene UILabelfunktioniert 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 UIButtonArbeit mit zwei Zeilen macht? Ist die einzige Lösung, eine separate Lösung für UILabelden Text zu erstellen und ihn als Unteransicht der Schaltfläche hinzuzufügen?
