将 UILabel 的文本设为粗体

问题描述 投票:0回答:7

我想让 UILabel 的文字加粗

infoLabel=[[UILabel alloc]initWithFrame:CGRectMake(90,150, 200, 30)];
[infoLabel setText:@"Drag 14 more Flavors"];
[infoLabel setBackgroundColor:[UIColor clearColor]];
[infoLabel setFont:[UIFont fontWithName:@"Arial" size:16]];

[infoLabel setTextColor:[UIColor colorWithRed:193.0/255 
                                        green:27.0/255 
                                         blue:23.0/255 
                                        alpha:1 ]];
ios objective-c uilabel uifont textcolor
7个回答
133
投票

如果要保留系统字体并设为粗体:

[infoLabel setFont:[UIFont boldSystemFontOfSize:16]];

69
投票

尝试

[infoLabel setFont:[UIFont fontWithName:@"Arial-BoldMT" size:16]];

还可能值得检查您尝试使用的字体是否在设备上可用


45
投票

使用 Xcode 中的 GUI 选择标签,然后转到属性检查器。 选项之一是字体。 单击字体图标(而不是上下箭头)。 在出现的弹出窗口中展开“字体组合框”。 在粗体系统部分下选择常规。

Xcode screenshot


17
投票

对于快速用户来说这应该有效:

myLabel.font = UIFont.boldSystemFont(ofSize: 12.0)

或者如果您想使用不同的字体:

myLabel.font = UIFont(name:"HelveticaNeue-Bold", size: 12.0)

6
投票

在可能的情况下,我建议使用动态字体大小,以便为用户提供最佳的可访问性。

您可以通过执行以下操作使标签使用系统动态字体并将其设置为粗体文本:

 exampleLabel.font = UIFont.preferredFont(forTextStyle: .body, compatibleWith: UITraitCollection(legibilityWeight: .bold))

0
投票

如果您没有自定义字体的粗体变体,您可以将笔划设置为负值以产生粗体效果。请看这里:

如何使用 NSAttributedString w/ UILabel 进行描边和填充


0
投票

如果您想使用具有动态字体和粗体样式的 UILabel,请首先按如下方式扩展 UIFont。

extension UIFont {
    func withTraits(_ traits: UIFontDescriptor.SymbolicTraits) -> UIFont {
        guard let descriptor = self.fontDescriptor.withSymbolicTraits(traits) else {
            return self
        }
        return UIFont(descriptor: descriptor, size: 0) // Size 0 means to keep the size as is.
    }
}

然后为标签指定字体,如下所示:

sampleLabel.font = UIFont.preferredFont(forTextStyle: .title2).withTraits(.traitBold)
© www.soinside.com 2019 - 2024. All rights reserved.