【发布时间】:2020-04-22 05:27:50
【问题描述】:
我有一个按钮,我使用自定义 UIFont 来显示文本。字体正确加载并正确应用于按钮标题。我的问题是我似乎无法更改字体大小:
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self action:@selector(loginButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
[button setTitle:@"Login" forState:UIControlStateNormal];
button.frame = CGRectMake(63.0, 200.0, 194.0, 60.0);
button.titleLabel.font = [UIFont fontWithName:@"My-Font" size:8.0f];
[self.view addSubview:button];
无论我输入什么字体大小,我都会得到一些默认大小。另一方面,如果我这样做:
button.titleLabel.font = [UIFont systemFontOfSize:32.0f];
我得到了 32 号字体,但是,当然,我没有得到我的自定义字体。 那么,如何设置自定义字体的大小呢?
(我使用 Xcode 4.6.3)
【问题讨论】:
-
我猜
fontWithName中的“MyFont”为空...简单快速的测试:UIFont *myFont = [UIFont fontWithName:@"MyFont" size:8.0f]; NSLog(@"MyFont: %@", myFont); -
@Larme 是的,它是......嗯,为什么会这样?我可以在 Bundle Phase -> Copy Bundle Resources 下看到它。另外,标签上的字体看起来也发生了变化
-
确保您的字体名称正确。字体名称并不总是字体的文件名。
-
@HAS 我仔细检查了一下(从 Finder -> 字体 -> 'space' [用于预览]),它与我正在寻找的匹配
-
@logixologist 怀疑... OS 3.2 及更高版本支持此功能。直接来自 iPhone OS 3.2 中的新增功能文档:自定义字体支持 想要使用自定义字体的应用程序现在可以在其应用程序包中包含这些字体,并通过在其 Info.plist 文件中包含 UIAppFonts 键向系统注册这些字体。该键的值是一个字符串数组,用于标识应用程序包中的字体文件。当系统看到该键时,它会加载指定的字体并使它们可供应用程序使用。