在UITextView中查找行数

时间:2011-10-10 10:07:31

标签: iphone objective-c ios uiimageview uitextview

我正在使用UIScrollView,其中我放置了UIImageViewUITextView。我让UIScrollView滚动图像和文本,它工作正常,但我的UITextView包含动态文本(即每次的行数不同)。所以我找不到分配UITextView的contentSize的方法。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:1)

Thisthis可能会对您有所帮助 您可以设置一个条件,如果新CGSize的宽度大于textview宽度,则行数= 2,否则为1。

答案 1 :(得分:0)

使用下面的代码计算文本宽度并定义文本视图宽度

+(float) calculateHeightOfTextFromWidth:(NSString *) text: (UIFont *)withFont: (float)width
:(UILineBreakMode)lineBreakMode
{

[text retain];
[withFont retain];
CGSize suggestedSize = [text sizeWithFont:withFont constrainedToSize:CGSizeMake(215, 1000) lineBreakMode:lineBreakMode];

[text release];
[withFont release];

return suggestedSize.height;
}

并在想要将动态文本显示为

时使用
float titleHeight;

titleHeight = [Your view controllre ViewController calculateHeightOfTextFromWidth:[NSString stringWithFormat:@"%@",[dict objectForKey:@"title"]] :[UIFont systemFontOfSize:14]:300 :UILineBreakModeTailTruncation]; 

将此titleHeight赋予您的textview或使用titleheight进行计算分割,您可以获得行数

如果您遇到问题,请回复