如何在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) }
}