如何在按钮Objective-C的标题上设置字体
Posted
技术标签:
【中文标题】如何在按钮Objective-C的标题上设置字体【英文标题】:How to set font on Title of Button Objective-C 【发布时间】:2017-07-26 16:42:31 【问题描述】:我正在尝试在按钮上设置标题的字体。我从 Apples Documentation on Fonts in Objective C 中阅读并尝试实现但它没有更改字体。我也试过这篇文章...setting UIButton font。我的字体来自谷歌字体...“Nunito-Black.tff”
下面是我的代码,
- (void)addHeaderButton
_headerButton = [UIButton buttonWithType:UIButtonTypeCustom];
self.headerButton.frame = self.bounds;
self.headerButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
[self.headerButton setTitleColor:[UIColor colorWithRed:(0.0/255.0) green:(51.0/255.0) blue:(102.0/255.0) alpha:(1.0)] forState:UIControlStateNormal];
self.headerButton.titleLabel.font = [UIFont fontWithName:@"Nunito-Black" size:25];
//[self.headerButton setFont:[UIFont systemFontOfSize:25]];
[self.headerButton addTarget:self action:@selector(headerButtonAction:) forControlEvents:UIControlEventTouchUpInside];
[self.contentView addSubview:self.headerButton];
【问题讨论】:
至少对UILabel
有效吗? [UIFont fontWithName:@"Nunito-Black" size:25];
是零吗?
您是否已将字体添加到项目中?阅读this and other common mistakes here。另请参阅included fonts here 的列表。
@KimRiegel 确保您的字体包含在目标和“应用程序提供的字体”键下的 Info.plist 中。还要考虑到您必须指定字体名称,而不是文件名。
你的 self.headerButton.frame = self.bounds;为 headerButton 提供适当的框架?
@albertamg 不得不将它们添加到 info.plist,感谢您提供的链接,我学到了很多!
【参考方案1】:
以下是在您的应用中添加自定义字体的步骤。
步骤:1
使用 UIAppFonts(应用程序提供的字体)键将您的自定义字体添加到您的应用程序包和 Info.plist
。如下图所示
步骤:2
使用下面的 sn-p 获取自定义添加的字体名称
[Objective-C]
for (NSString *familyName in [UIFont familyNames])
NSLog(@"Family name: %@", familyName);
for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName])
NSLog(@"--Font name: %@", fontName);
[斯威夫特 - 3]
for family in UIFont.familyNames
print("\(family)")
for name in UIFont.fontNames(forFamilyName: family)
print(" \(name)")
步骤:3
从 sn-p 上方获取字体名称,获取名称后,您可以将字体名称设置为您尊重的元素,如下所示
self.headerButton.titleLabel.font = [UIFont fontWithName:@"Nunito-Black" size:25];
【讨论】:
【参考方案2】:您需要将确切的字体名称添加到 Info.plist 中的“应用程序提供的字体”下
【讨论】:
以上是关于如何在按钮Objective-C的标题上设置字体的主要内容,如果未能解决你的问题,请参考以下文章
如何检测按下的按钮并将其显示在另一个视图上? Objective-C
如何在 Objective-C 中更改垃圾按钮的颜色? [复制]