计算给定宽度和字体大小的行数

时间:2013-01-09 06:20:29

标签: iphone ios objective-c xcode ios6

让我先告诉你我的要求,

我将strings存储在一个字符串变量中,例如str,

NSString *str=@"multiple strings";

接下来我想指定上面的字符串适合的宽度,比如width = 350和fontsize = 16;现在我怎么知道文本将占用多少行,给定宽度= 350,fontsize = 15.(我的意思是行数)

1 个答案:

答案 0 :(得分:3)

您可以使用UIStringDrawing.h中的一种方法找到绘制字符串所需的大小(以及高度)。在绘制约束宽度350px时,此方法将为您提供尺寸:

CGSize maximumSize = CGSizeMake(350, CGFLOAT_MAX);
UIFont *font = [UIFont systemFontOfSize:16];
CGSize size = [str sizeWithFont:font constrainedToSize:maximumSize lineBreakMode:NSLineBreakByWordWrapping];

在此示例中,maximumSize使用CGFloat的最大可能高度(实际上为无穷大),宽度为350px。这实际上意味着“通过将宽度限制为350px 来给我这个文本的大小。”