Ändern der Größe einer UITextView mit einer maximalen Höhe
-
13-09-2019 - |
Frage
Ich bin etwas Text aus einer sqlite3 Datenbank anzeigt und würde die UITextView wie automatisch, um die Größe in Abhängigkeit von der Menge an Text. Ich kann diese feine tun wie folgt:
TextLabel.scrollEnabled = YES;
TextLabel.userInteractionEnabled = YES;
[TextLabel setFrame:CGRectMake(55.10, 26.15, TextLabel.contentSize.width,
TextLabel.contentSize.height)];
Das funktioniert gut. Ich kämpfe, wenn eine maximale Höhe zu setzen versuchen.
So ist die UITextView auf den Text Größe ändern, es sei denn es eine maxiumum Höhe erreicht hat, in dem Fall muss der Benutzer die Bildlaufleiste, um den restlichen Text anzuzeigen verwenden wird.
Jede Hilfe wäre sehr geschätzt
Lösung
Hier ist ein Weg, um die gewünschte Höhe für einige mehrzeiligen Text zu entdecken:
int myWidth = 300;
int maxHeight = 9999;
NSString *myString = @"lorem ipsum dolor yadda";
UIFont *myFont = [UIFont fontWithName:@"Helvetica" size:14];
CGSize myStringSize = [myString sizeWithFont:myFont
constrainedToSize:CGSizeMake(myWidth, maxHeight)
lineBreakMode:textLabel.lineBreakMode];
textLabel.frame = CGRectMake(10, 10, myWidth, myStringSize.height);
Ich habe diese von Nevan Antwort auf diese vorherige Frage:
Referenz: Apples docs auf NSString UIKit Ergänzungen .
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow