相关疑难解决方法(0)

在iOS 7.0.3上发生了什么"HelveticaNeue-Italic"

刚刚将我的iPod touch升级到iOS 7.0.3并且"HelveticaNeue-Italic"似乎已经消失了.当我在手机上查询时:

[UIFont fontNamesForFamilyName:@"Helvetica Neue"]
Run Code Online (Sandbox Code Playgroud)

我得到以下fontNames(13):

HelveticaNeue-BoldItalic,
HelveticaNeue-Light,
HelveticaNeue-UltraLightItalic,
HelveticaNeue-CondensedBold,
HelveticaNeue-MediumItalic,
HelveticaNeue-Thin,
HelveticaNeue-Medium,
HelveticaNeue-ThinItalic,
HelveticaNeue-LightItalic,
HelveticaNeue-UltraLight,
HelveticaNeue-Bold,
HelveticaNeue,
HelveticaNeue-CondensedBlack
Run Code Online (Sandbox Code Playgroud)

当我在模拟器中运行相同的查询时,我得到(14):

HelveticaNeue-BoldItalic,
HelveticaNeue-Light,
**HelveticaNeue-Italic,**
HelveticaNeue-UltraLightItalic,
HelveticaNeue-CondensedBold,
HelveticaNeue-MediumItalic,
HelveticaNeue-Thin,
HelveticaNeue-Medium,
HelveticaNeue-Thin_Italic,
HelveticaNeue-LightItalic,
HelveticaNeue-UltraLight,
HelveticaNeue-Bold,
HelveticaNeue,
HelveticaNeue-CondensedBlack
Run Code Online (Sandbox Code Playgroud)

其他人都看到了吗?

- - 新的消息 - -

我回到WWDC 2013视频"使用带有文本工具包的字体",有趣的部分从12:22开始.演示者以OS X中的"MetaFonts"为例进行讨论.他说的是调用的字体如:

+ (NSFont *)messageFontOfSize:(CGFloat)fontSize
Run Code Online (Sandbox Code Playgroud)

不保证在版本甚至不同用途中返回相同的底层字体.他的榜样是Lucinda Grande.他似乎没有说使用"HelveticaNeue-Italic"可以从版本到版本.

所以我在iOS 7中构建了一个实验.我使用以下代码创建了我的字体:

UIFontDescriptor *fontDescriptor = [UIFontDescriptor fontDescriptorWithName:@"Helvetica Neue" size:16.0];
UIFontDescriptor *symbolicFontDescriptor = [fontDescriptor fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitItalic];

UIFont *fontWithDescriptor = [UIFont fontWithDescriptor:symbolicFontDescriptor size:16.0];
Run Code Online (Sandbox Code Playgroud)

我确实为fontWithDescriptor获得了一个有效的UIFont,当我查询fontName的字体时:

[fontWithDescriptor fontName]
Run Code Online (Sandbox Code Playgroud)

我回来了...

HelveticaNeue-Italic
Run Code Online (Sandbox Code Playgroud)

去搞清楚???

所以7.0.3的可能答案似乎是上面的代码.

----进一步调整----

虽然解决方案在上面工作,但我认为它不是正式的.我已切换到以下解决方案

    UIFontDescriptor *fontDescriptor …
Run Code Online (Sandbox Code Playgroud)

objective-c uifont ios7

100
推荐指数
3
解决办法
3万
查看次数

标签 统计

ios7 ×1

objective-c ×1

uifont ×1