#objective-c #cocoa-touch #ios4 #fonts #ios5
#objective-c #cocoa-touch #ios4 #шрифты #ios5
Вопрос:
В iOS4 (симулятор 4.3), когда я использую font Myriad Pro со следующим методом шрифта для ячейки:
cell.titleLabel.font = [UIFont fontWithName:@"Myriad Pro" size:14];
Это выглядит так:
В iOS5 (симулятор 5.0), когда я использую font Myriad Pro с тем же методом шрифта, это выглядит так:
Кто-нибудь также сталкивался с таким поведением (возможно, с другими шрифтами?).
Комментарии:
1. Так ли это выглядит на устройстве или только на симуляторе? bugreport.apple.com возможно.
2. Так выглядит и на устройстве (под управлением iOS5).
3. Правильно ли вы объявили файл шрифта в своем Info.plist? Myriad Pro не является стандартным шрифтом на iOS. Кроме того, вы уверены, что у вас есть лицензия на Myriad Pro, которая позволяет встраивать ее в ваше приложение?
4. Изменился ли размер метки? Попробуйте выполнить
cell.titleLabel.adjustsFontSizeToFitWidth = NO
5. @omz Да, как вы можете видеть, он правильно отображается в iOS 4.3, но каким-то образом он отображается как сжатый в iOS 5.0. Вот почему мне интересно, изменился ли рендеринг шрифтов в iOS 5.0. Несмотря на это, что-то действительно отличается между рендерингом в iOS4 и iOS5. Я установил
Fonts provided by application
для ключа в App-info.plist такие значения, как «MyriadPro-Regular.otf» и «MyriadPro-Bold.otf». Да, я уверен, что у меня есть лицензия, но спасибо, что предупредили меня.
Ответ №1:
При использовании fontWithName:size:
в iOS 5 параметром font name должно быть полное имя файла шрифта в вашем пакете приложений, а не только название семейства шрифтов.
Комментарии:
1. У меня такая же проблема, я использую этот [UIFont fontWithName: @»HelveticaNeue-Light» размер: 18.0]
Ответ №2:
Рендеринг шрифтов изменился в iOS 5. В iOS 4 можно было использовать только одно лицо в файле шрифта, независимо от того, сколько лиц было в файле шрифта и какое лицо вы запрашивали.
iOS 5 позволяет использовать все грани во встроенном файле шрифтов.
В нашем случае мы запрашивали обычный шрифт, но вместо этого получали светлый шрифт. В iOS 5 мы возвращаем обычный, который испортил некоторый интервал между UILabel.
Ответ №3:
Было бы полезно, если бы я мог увидеть скриншот большего размера, но, похоже, это сжатый Myriad Pro, а не Myriad Pro. В документации для fontWithName:size:
этого говорится о fontName
:
Полностью указанное имя шрифта. Это имя включает в себя как название семейства шрифтов, так и конкретную информацию о стиле шрифта.
При передаче «Myriad Pro» вы указываете только имя семейства. Возможно, система случайным образом выбирает для вас неправильного члена семейства шрифтов. Поэтому попробуйте произнести полное имя нужного вам шрифта, в данном случае «Myriad Pro Regular».