我先告诉你我的要求

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

NSString *str=@"multiple strings";

接下来,我想指定上述字符串适合的宽度,例如width = 350和fontsize = 16;现在我将如何知道在给定的width = 350和fontsize = 15的情况下,文本将占据多少行(我的意思是行数)

最佳答案

您可以使用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。这实际上意味着“通过将宽度限制为350像素,为我提供此文本的大小”。

10-06 01:11