先说说我的需求,
我将 strings
存储在一个字符串变量中,比如 str,
NSString *str=@"multiple strings";
接下来我想指定上述字符串的宽度,比如 width=350 和 fontsize=16;现在我怎么知道在给定的宽度 = 350 和字体大小 = 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
的最大可能高度(有效无穷大)和 350 像素的宽度。这实际上意味着“通过将宽度限制为 350 像素来给我文本的大小”。
关于iphone - 计算给定宽度和字体大小的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14229365/