如何在iPhone / iPad的UILabel上设置粗体和斜体?

如何在iPhone / iPad的UILabel上设置粗体和斜体? 我search了论坛,但没有任何帮助我。 任何人都可以帮我吗?

 sectionLabel.font = [UIFont fontWithName:@"TrebuchetMS-Bold" size:18]; 

有一个字体名称列表,您可以设置“fontWithName”属性的位置。链接是链接文本

不要试图玩字体名称。 使用字体描述符,你不需要名字:

 UILabel * label = [[UILabel alloc] init]; // use your label object instead of this UIFontDescriptor * fontD = [label.font.fontDescriptor fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitBold | UIFontDescriptorTraitItalic]; label.font = [UIFont fontWithDescriptor:fontD size:0]; 

size:0表示“保持原样”

用Swift尝试下面的扩展:

 extension UIFont { func withTraits(traits:UIFontDescriptorSymbolicTraits...) -> UIFont { let descriptor = self.fontDescriptor() .fontDescriptorWithSymbolicTraits(UIFontDescriptorSymbolicTraits(traits)) return UIFont(descriptor: descriptor, size: 0) } func boldItalic() -> UIFont { return withTraits(.TraitBold, .TraitItalic) } } 

那么你可以这样使用它:

 myLabel.font = myLabel.font.boldItalic() 

或者甚至添加像Condensed这样的其他特征:

 myLabel.font = myLabel.font.withTraits(.TraitCondensed, .TraitBold, .TraitItalic) 

@Edinator看看这个..

 myLabel.font = [UIFont boldSystemFontOfSize:16.0f] myLabel.font = [UIFont italicSystemFontOfSize:16.0f]; 

在你想要的时候使用上面的任何一个

您可以通过单击字体字段中的字母“T”来设置标签的任何字体样式,系列,尺寸。

标签字体设置

我有同样的问题,需要在标签和button上应用粗体和斜体。 你可以简单地使用下面的代码来达到这个效果:

 myLabel.font = [UIFont fontWithName:@"Arial-BoldItalic" size:30.0]; 

使用iOS 7系统默认字体,如果您希望保留系统默认字体,则将使用helvetica neue bold。

  [titleText setFont:[UIFont fontWithName:@"HelveticaNeue-Bold" size:16.0]]; 

或者你可以简单的称之为:

  [titleText setFont:[UIFont boldSystemFontOfSize:16.0]]; 

看看: 这个url

  btn.titleLabel.font=[UIFont fontWithName:@"Helvetica neue" size:10]; btn.titleLabel.font = [UIFont boldSystemFontOfSize:btnPrev.titleLabel.font.pointSize+3]; 

你也可以使用这个做粗体的标签/button字体

我做了一个maksymilian wojakowski的反应的变化,你可以添加或删除一个或多个特征,

 extension UIFont { func withTraits(_ traits:UIFontDescriptorSymbolicTraits...) -> UIFont { let descriptor = self.fontDescriptor .withSymbolicTraits(UIFontDescriptorSymbolicTraits(traits).union(self.fontDescriptor.symbolicTraits)) return UIFont(descriptor: descriptor!, size: 0) } func withoutTraits(_ traits:UIFontDescriptorSymbolicTraits...) -> UIFont { let descriptor = self.fontDescriptor .withSymbolicTraits( self.fontDescriptor.symbolicTraits.subtracting(UIFontDescriptorSymbolicTraits(traits))) return UIFont(descriptor: descriptor!, size: 0) } func bold() -> UIFont { return withTraits( .traitBold) } func italic() -> UIFont { return withTraits(.traitItalic) } func noItalic() -> UIFont { return withoutTraits(.traitItalic) } func noBold() -> UIFont { return withoutTraits(.traitBold) } } 

为例

 label.font = label.font.italic().bold() 

它在重用单元格时非常有用,并且您希望删除在前一个单元格中放置在标签上的斜体

我最近写了一篇关于UIFont API限制的博客文章,以及如何解决这个问题。 你可以在这里看到它

随着我在那里提供的代码,你可以得到你想要的UIFont一样简单:

UIFont *myFont = [FontResolver fontWithDescription:@"font-family: Helvetica; font-weight: bold; font-style: italic;"];

然后将其设置为您的UILabel(或其他): myLabel.font = myFont;

正如在这些答案中已经提到的, 你只需要正确的字体名称 。 我发现iOSFonts.com是知道使用什么名字的最有用的资源。

粗体文本示例:

 UILabel *titleBold = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 200, 30)]; UIFont* myBoldFont = [UIFont boldSystemFontOfSize:[UIFont systemFontSize]]; [titleBold setFont:myBoldFont]; 

示例斜体文本:

 UILabel *subTitleItalic = [[UILabel alloc] initWithFrame:CGRectMake(10, 35, 200, 30)]; UIFont* myItalicFont = [UIFont italicSystemFontOfSize:[UIFont systemFontSize]]; [subTitleItalic setFont:myItalicFont]; 

这很简单。 这是代码。

 [yourLabel setFont:[UIFont boldSystemFontOfSize:15.0]; 

这将帮助你。

Swift 3

胆大:

let bondFont = UIFont.boldSystemFont(ofSize:UIFont.labelFontSize)

斜体:

let italicFont = UIFont.italicSystemFont(ofSize:UIFont.labelFontSize)

更新Maksymilian Wojakowski为迅捷3的真棒答案

 extension UIFont { func withTraits(traits:UIFontDescriptorSymbolicTraits...) -> UIFont? { guard let descriptorL = self.fontDescriptor.withSymbolicTraits(UIFontDescriptorSymbolicTraits(traits)) else{ return nil } return UIFont(descriptor: descriptorL, size: 0) } func boldItalic() -> UIFont? { return withTraits(traits: .traitBold, .traitItalic) } 

}