我正在尝试使用Swift更改UIButton的字体...
myButton.font = UIFont(name: "...", 10)
Run Code Online (Sandbox Code Playgroud)
但是.font已弃用,我不知道如何更改字体.
有什么建议?
如何在UILabeliPhone/iPad 上设置粗体和斜体?我搜索了论坛,但没有任何帮助我.谁能帮助我?
刚刚将我的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) 我正在寻找iOS 7的iOS字体列表.我在Apple的开发者网站上找到了这个列表,我只是想知道是否有人知道一个可视列表,其中每个字体名称都是在其字体中输入的.我之前看过一两个,但我见过的最新版本是针对iOS 5的,从那时起又添加了更多.
UIFont有获取常规font(systemFontOfSize)或粗体字体(boldSystemFontOfSize)的方法,但如何通过故事板获得"瘦系统字体"?
将"system-thin"传递给UIFontContructor不起作用,此构造函数仅适用于非系统字体.
我正在尝试使用从Adobe Font Collection Pro Package获得的Helvetica Neue Condensed字体.不幸的是,当我在一个内部使用它时,似乎绘制不正确UILabel.
行高似乎是正确计算的(我认为),但是当显示字体时,它会与边界框的最顶部对齐.我调用[myLabel sizeToFit]并仅调整宽度以产生此屏幕捕获:

我对字体的粗体和常规版本都有同样的问题.我能够从OSX中取出一个版本的Helvetica Neue Bold并将其放在我的设备上并显示正常(上图中的绿色背景).
字体文件或我的代码导致它以这种方式绘制可能有什么问题?
我在之前的应用程序中使用了自定义字体.
文件名是"ProximaNova-Regular.otf"并加载我刚使用的字体...
[UIFont fontWithName:@"ProximaNova-Regular" size:20];
Run Code Online (Sandbox Code Playgroud)
这非常有效.
现在在这个新的应用程序中我有三个字体文件...
Dude_Willie.otf
Impact
handsean.ttf
Run Code Online (Sandbox Code Playgroud)
但我不知道如何加载这些.
我试过了
[UIFont fontWithName:<the file name> size:20];
Run Code Online (Sandbox Code Playgroud)
但这只是回到使用Helvetica.
如何找到要使用的名称?
假设您想要UIFont的特定字体.你怎么知道它叫什么?
例如,如果您想使用此代码:
[someUILabelObject setFont:[UIFont fontWithName:@"American Typewriter" size:18]];
Run Code Online (Sandbox Code Playgroud)
从哪里复制确切的短语"美国打字机".Xcode中是否有头文件?
UPDATE
也发现这个方便.
我已经使用Interface Builder为UILabel中的文本指定了一个大小为14的自定义字体'Helvetica'.
我正在多个地方重复使用相同的标签,但在某些地方我必须以粗体显示文本.
有什么方法我可以指定使现有字体加粗而不是再次创建整个UIFont吗?这就是我现在所做的:
myLabel.font = [UIFont fontWithName:@"Helvetica Neue" size:14];
Run Code Online (Sandbox Code Playgroud) 我正在尝试为Swift开发,它进展顺利.我遇到的一个问题是找出如何在语言中以编程方式设置字体样式.
例如,在这个标签中,我编写了下面的代码,例如,我如何才能使它成为Helvetica Neue Ultralight?
label.font = UIFont (name: "Helvetica Neue", size: 30)
Run Code Online (Sandbox Code Playgroud)