C'è un modo per ottenere la dimensione corretta di un NSString utilizzando:sizeWithFont non dà giusta altezza per UITextView se v'è una lunga stringa nel testo di essere avvolto
- (CGSize)sizeWithFont:(UIFont *)font forWidth:(CGFloat)width lineBreakMode:(UILineBreakMode)lineBreakMode
che non ottiene gettato fuori dal 2 o trecento stringhe di caratteri. Al momento, se provo a utilizzare questo metodo su queste lunghe stringhe, le calcola erroneamente e alla fine di UITextView mi ritrovo con molti spazi bianchi.
Ho provato a utilizzare UILineBreakModeWordWrap e UILineBreakModeCharacterWrap.
il ridimensionamento è stato fatto in
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
CGFloat result = 44.0f;
NSString* text = nil;
CGFloat width = 0;
CGFloat tableViewWidth;
CGRect bounds = [UIScreen mainScreen].bounds;
tableViewWidth = bounds.size.width;
width = tableViewWidth - 150;
text = stringWithLongWords;
if (text) {
CGSize textSize = { width, 20000.0f };
CGSize size = [text sizeWithFont:[UIFont systemFontOfSize:10.0f] constrainedToSize:textSize lineBreakMode:UILineBreakModeWordWrap];
size.height += 50.0f;
result = MAX(size.height, 44.0f+30.0f);
}
return result;
}
Che cosa stai cercando di fare? Penso a sizeWithFont: funziona piuttosto bene, forse è come applichi queste informazioni a UITextView. Spiega per favore. –
Ho una cella UITableView personalizzata con 2 UILabels e UITextView che utilizzano sizeWithFont per calcolare la dimensione necessaria per l'altezza della cella e della cella che a volte risulta essere superiore a 400 pixel. –