Есть ли способ подсчета количества пробелов '' (некоторый UIFont) в N пикселях?Подсчитайте количество пробелов '' в N пикселей
Например:
input: length = 100 pixels, font = <fontName>
output: 14 spaces with current font
Есть ли способ подсчета количества пробелов '' (некоторый UIFont) в N пикселях?Подсчитайте количество пробелов '' в N пикселей
Например:
input: length = 100 pixels, font = <fontName>
output: 14 spaces with current font
Я бы рассчитать ширину пространства, то сколько раз, что соответствует по длине у вас есть.
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);
Это вычисляет количество целых пространств, которые будут вписываться в выделенную длину.
Обратите внимание, что весь код работает в точках, а не в пикселях. если вы действительно хотите знать, сколько мест помещается в пикселях экрана, вам нужно будет учитывать масштаб экрана.
NSString *oneSpace = @" ";
CGSize fontSize = [oneSpace sizeWithAttributes: @{
NSFontAttributeName: [UIFont fontWithName:@"Helvetica" size:12 ]}];
return floor(100/fontSize.width);
FYI - '' '' не 'NSString'. – rmaddy
Правильно :), спасибо. – sha