Моя конечная цель - изменить размер шрифта, чтобы различные слова соответствовали одной и той же прямоугольной области. Я думал, что размерWithFont будет отличным методом для использования, но я продолжаю получать ширину 0, и я смущен.sizeWithFont Возвращает ширину 0
NSString *name = @"Test Word";
CGFloat fontSize = 32.0;
UIFont *font = [UIFont fontWithName:@"TimeNewRomanPSMT" size: fontSize];
CGSize sWidth = [name sizeWithFont:font
constrainedToSize:CGSizeMake(fontSize, CGFLOAT_MAX)
lineBreakMode:UILineBreakModeWordWrap];
NSLog(@"sWidth = %3.1f; rec.width n= %3.1f ", sWidth.width, rec.width);
Мой план заключается в проходным размеров шрифта, пока ширина не подходит, но sWidth.width постоянно возвращается 0.
Крис имя
Чувак, вы потрясающий. Изменил его на AmericanTypewriter, и он отлично работал. Тем не менее, почему компилятор не поймал это? – user3457079
Имя шрифта является строкой и проверяется во время выполнения, это строка, которая проверяется на шрифты конкретной операционной системы, на которой вы работаете. Я согласен с тем, что это склонность к ошибкам, я лично предпочитаю ставить ее в константу. –
От анонимного пользователя: компилятор этого не понимает, потому что это не ошибка компиляции. Он не знает, какие шрифты доступны .. и не проверяет. Как только шрифт с этим именем будет доступен, он будет работать. – powtac