2014-04-09 152 views
0

现在,我使用下面的代码来显示我的表格单元格。它正在正确显示文本。但是,有些文本太长,所以我想显示文本的前5行,然后如果用户展开单元格,它将显示整个文本。我被卡住了,因为我不太熟悉ios 7中的新方法boundRectWithSize。动态显示带有boundRectWIthSize的表格单元格高度

CGSize size = CGSizeMake(self.reviewComments.width,999); 
CGSize textRect =[self.reviewComments.text boundingRectWithSize: size options: NSStringDrawingUsesLineFragmentOrigin 
                attributes: @{NSFontAttributeName:self.reviewComments.font} context: nil].size ; 


float height = textRect.height; 
self.reviewComments.height = height; 

我想:

if (height > 150) { 
    height = 150; 
} 

但这种方式只是切断文字,甚至当我展开后。

UPDATE /编辑:

我希望我的细胞,使其只如果超过5行显示也许是前5行文字。如果单元格展开,整个文本将显示。

+0

第一种方法有什么问题?它给你什么结果? – rdelmar

+0

self.reviewComments.frame = textRect; – user1349663

+0

看到我的答案....希望这可以帮助你http://stackoverflow.com/questions/21396907/how-to-programmatically-increase-uitableview-cells-height-in-iphone/21398263#21398263 –

回答

0

试试这个:

float height = ceilf(textRect.height);

+0

对不起,我'已经实现了这一行。它仍然做同样的事情。我不明白这是如何设定行数的限制。 – user3513175

相关问题