Frage

Ich versuche, in einer Zeile einen langen Textzeichen in einem Uilabel zu zeigen. Das Uilabel ist ein Unteranblick von UiscrollView, sodass ich scrollen und die gesamte Uilabel sehen kann.

Mein Problem ist, dass die SIZETOFIT-Methode nur teilweise funktioniert.

generasacodicetagpre.

Die UiscrollView-Inhaltsgröße wird groß genug, um das gesamte Uilable anzuzeigen, aber für eine Zeile wie:

Ich werde also versuchen, einige von ihnen hier alle hier zu teilen. "

Das Uilabel zeigt:

Ich werde versuchen, etwas zu teilen ...

Was mache ich falsch?

War es hilfreich?

Lösung

schaltet sich aus, dass der Code einfach gut ist - aber die Verwendung von Autolayout wurde geprüft. Unkontrolliert es - alles funktioniert nur toll ...

Andere Tipps

If you want to achieve this with auto layout turned on it's simple. Just make sure you add numberOfLines

textLabel.adjustsFontSizeToFitWidth = YES;
textLabel.numberOfLines = 0;

Surprisingly, if you did not put a constraint on the label's width, this would work:

[textLabel.superview layoutSubviews];

I learned this by trial and error.

try

textLabel.adjustsFontSizeToFitWidth  = YES;
textLabel.minimumFontScale      =  0.5;  

Since you have restricted your Label to show only one line of Text and truncate the rest , it is behaving the same

textLabel.attributedText = attributedString;
textLabel.numberOfLines = 0;
[textLabel sizeToFit];
textLabel.lineBreakMode = NSLineBreakByWordWrapping;
textScrollView.contentSize = CGSizeMake(textLabel.frame.size.width, textLabel.frame.size.height);

Hope it will help you

The most common reason for sizeToFit not working properly is the UILabel not having any autolayout constraints, for instance if you're implicitly relying on the view position remaining fixed relative to the top left. Adding any constraint at all (leading, top, centerY, anything) will fix it, presumably because it will result in layoutSubviews being called at some point, as suggested in Maxthon Chan's answer.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top