2014-11-02 9 views

ответ

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); 

Это вычисляет количество целых пространств, которые будут вписываться в выделенную длину.

Обратите внимание, что весь код работает в точках, а не в пикселях. если вы действительно хотите знать, сколько мест помещается в пикселях экрана, вам нужно будет учитывать масштаб экрана.

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

return floor(100/fontSize.width); 
+0

FYI - '' '' не 'NSString'. – rmaddy

+0

Правильно :), спасибо. – sha

Смежные вопросы