计算空格数' '在N像素

时间:2014-11-02 15:06:59

标签: ios objective-c uifont

有没有办法如何计算N个像素中的空格数(一些UIFont)?

例如:

input: length = 100 pixels, font =  <fontName>

output: 14 spaces with current font

2 个答案:

答案 0 :(得分:1)

NSString *oneSpace = @" ";
CGSize fontSize = [oneSpace sizeWithAttributes: @{
   NSFontAttributeName: [UIFont fontWithName:@"Helvetica" size:12 ]}];

return floor(100 / fontSize.width);

答案 1 :(得分:1)

我会计算一个空格的宽度,然后看看你的长度适合多少次。

NSInteger length = 100; // size in points (not pixels)
UIFont *font = ... // some font

CGSize spaceSize = [@" " sizeWithAttributes:@{ NSFontAttributeName : font }]; // size in points (not pixels)

NSInteger spaceCount = floor(length / spaceSize.width);

这将计算适合所分配长度的整个空格数。

请注意,所有代码都以点为单位,而不是像素。如果您真的想知道屏幕像素中有多少空格,则需要考虑屏幕比例。