如何获得UITextView的REAL高度(内容+填充+任何需要的东西)

时间:2012-04-21 11:10:02

标签: cocoa-touch uitextview

在论坛中尝试建议后,我无法获得UITextView的真实高度,如:

How do I size a UITextView to its content?

Resizing UITextView

此解决方案使UItextView调整其内容大小,但我需要知道UItextView的实际高度,以便我可以定位其余视图而不会重叠。

我有一个UITableView,每个单元格显示一个UITextView。

我得到UITextView的大小,调整大小并使用以下代码调整包含它的单元格:

//self.descriptionTV is a UITextView
self.descripcionTV.text = self.detailItem.descripcion;

//I calculate the height (altura) to size the UITextView and to later size the cell
NSNumber *altura = [NSNumber numberWithFloat:
                            (self.descripcionTV.contentInset.top + self.descripcionTV.contentSize.height + self.descripcionTV.contentInset.bottom)];            

//Here I size the UITextView        
CGRect frame = self.descripcionTV.frame;
frame.size.height = altura.floatValue;
self.descripcionTV.frame = frame;



 //I use this in tableView:heightForRowAtIndexPath:
 [self.cellsToLoad addObject:[NSArray arrayWithObjects:self.cellDescripcion, altura, nil]];

-(float)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    //La altura de la celda la tenemos almacenada en el array cells
    float altura = [[[self.cellsToLoad objectAtIndex:indexPath.row] objectAtIndex:1] floatValue];
    return altura;
}

不幸的是,这不能完成任务。此后的单元格被某些像素重叠。我以前一直在使用UILabel而不是UITextViews,没有问题。

我知道解决方案只是手动增加计算的高度,但我想知道是否有一种真正的方法来获取UITextView的大小。

0 个答案:

没有答案