如何在按钮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中的按钮上制作3个可点击区域

如何检测按下的按钮并将其显示在另一个视图上? Objective-C

如何在 Objective-C 中更改垃圾按钮的颜色? [复制]

HTML中如何设置button按钮让一个text中的字体变大一号?

iOS:设置页面菜单的标签标题最小字体大小