können Sie verwenden NSString UIKIT Addition
Methode
- (CGSize)sizeWithFont:(UIFont *)font
constrainedToSize:(CGSize)size
lineBreakMode:(NSLineBreakMode)lineBreakMode
die Höhe zu berechnen. etwas wie.
CGSize yourLabelSize = [@"Your very long text" sizeWithFont:yourFont constrainedToSize:CGSizeMake(desiredMaximumWidth, 2000) lineBreakMode:NSLineBreakByWordWrapping];
ist es wirklich wichtig, die constrainedToSize
Parameter zu verstehen. Sie müssen eine CGSize
mit desired maximum
Breite und maximum possible height
übergeben. Verwenden Sie das gleiche mit Ihrem Etikett. Vergessen Sie nicht, die
[yourLabel setNumberOfLines:0];
Aber die Methode ist bereits veraltet in iOS 7
deshalb haben Sie einstellen verwenden
- (CGRect)boundingRectWithSize:(CGSize)size
options:(NSStringDrawingOptions)options
attributes:(NSDictionary *)attributes
context:(NSStringDrawingContext *)context
yourLabelSize.height
geben Sie die Höhe
es hoffen, wird Ihnen helfen, ...
Warum verwenden Sie nicht 0 für die Anzahl der Zeilen? – Larme
Vielleicht kann Ihnen das [Tutorial] (http://www.raywenderlich.com/73602/dynamic-table-view-cell-height-auto-layout) helfen - es geht um Tabellenzellen mit dynamischer Höhe, aber ich denke, Sie können transponiere das Konzept in das, was du tust. Es ist hilfreich, wenn Sie sich mit Auto-Layout befassen – Antonio
kann es für Sie hilfreich sein: - http://stackoverflow.com/questions/9181368/ios-dynamic-sizing-labels –