Swift Note

兴趣是最好的老师

iOS 中的字体样式

在网站前端中,设置文字的样式是一个极简单的事情,然而,在 iOS APIs 中,却找不到 font-family font-weight 等属性。。。旧思维在作怪了

iOS 中也不麻烦,我们来一起看一下。

系统字体比较简单,可以很方便的设置字体的字号和字重

  • boldSystemFontOfSize 系统粗体
textLable.font = UIFont.boldSystemFontOfSize(18)  

systemFontOfSize 这个应该是最常用的了

textLable.font = UIFont.systemFontOfSize(18)  
//默认可以只设置字号
textLable.font = UIFont.systemFontOfSize(18, weight: UIFontWeightUltraLight)  
//也可以添加 weight 参数

weight参数的设定:

let UIFontWeightUltraLight: CGFloat  
let UIFontWeightThin: CGFloat  
let UIFontWeightLight: CGFloat  
let UIFontWeightRegular: CGFloat  
let UIFontWeightMedium: CGFloat  
let UIFontWeightSemibold: CGFloat  
let UIFontWeightBold: CGFloat  
let UIFontWeightHeavy: CGFloat  
let UIFontWeightBlack: CGFloat  

这些字重和系统自带字体有关,也就是说系统默认字体是带有对应的字重的,比如 PingFang-SC、Helvertica-Neue 等字体

  • preferredFontForTextStyle 更丰富的样式设定,当然字体和字体大小和字重也都是设定好的了:
textLable.font = UIFont.preferredFontForTextStyle(UIFontTextStyleTitle1)

preferredFontForTextStyle 参数的定义:

let UIFontTextStyleTitle1: String  
let UIFontTextStyleTitle2: String  
let UIFontTextStyleTitle3: String  
let UIFontTextStyleHeadline: String  
let UIFontTextStyleSubheadline: String  
let UIFontTextStyleBody: String  
let UIFontTextStyleFootnote: String  
let UIFontTextStyleCaption1: String  
let UIFontTextStyleCaption2: String  
let UIFontTextStyleCallout: String  
  • 最灵活的还是直接用 UIFont 来定义字体的表现:
textLable.font = UIFont(name: "CourierNewPS-BoldMT", size: 18)  

这个时候字重取决于字体本身。

最后来个预览

神飞

没有什么能够阻挡,我对自由的向往