刚刚将我的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) 我想在我的应用程序中实现自定义字体.所以我在我的项目源代码中添加了它.我不想以编程方式设置它.我可以通过在xib中设置属性来实现这一点吗?
我想将标签文本设置为System Thin.读入StackOverflow并找到如下答案:
labelDescriptionView.font = UIFont(name: "System-Thin", size: 15.0)
Run Code Online (Sandbox Code Playgroud)
但它不起作用.如何以编程方式改进代码并制作Thin字体样式?