Swift通过编程方式更改字体

时间:2017-09-25 10:52:33

标签: ios swift

您好我目前正在设置以下观点:

func setupViews() {

    self.numberLabel = UILabel(frame: .zero) 
    self.addSubview(self.numberLabel)
    self.numberLabel.snp.makeConstraints { (make) in
        make.edges.equalToSuperview()
    }


    self.numberLabel.textAlignment = .center
    self.numberLabel.textColor = UIColor.white
    self.numberLabel.adjustsFontSizeToFitWidth = true
    self.numberLabel.minimumScaleFactor = 0.5

}

我想将标签内的文字字体更改为粗体字,但是按照上述语法原则很难看到一种简单的方法。

3 个答案:

答案 0 :(得分:2)

您只需设置标签的字体属性,例如:

numberLabel.font = UIFont.systemFont(ofSize: 10, weight: 200)

我很惊讶在这方面已经没有了。

另请参阅参考文档:https://developer.apple.com/documentation/uikit/uilabel

顺便说一下,除非你在一个闭包中运行,或者语义不明确的其他语境(例如在初始化器中),你通常不需要使用self。前缀。

希望有所帮助。

答案 1 :(得分:0)

如果您只是使用系统字体,也可以

UIFont.boldSystemFont(ofSize: 16.0)

选择您需要的尺寸

此处有documentation

答案 2 :(得分:0)

用于Swift4 +和最新版本(Swift5.3)

样式化字体(SystemFont)

UIFont.systemFont(ofSize: 17, weight: .medium)

您可以在其中设置.weight的地方提供了各种UIFont.Weight属性,如下所示

  • .black
  • .bold
  • .heavy
  • .light
  • .medium
  • .regular
  • .semibold
  • .thin(看起来很酷,我想Apple也会在某个地方使用它)
  • .ultralight

请注意,它仅适用于默认SystemFontAppleDocumentation

更改字体

UIFont(name: "HelveticaNeue-Thin", size: 16.0)
  • 其中的名称包括FontName
  • 您还可以通过在粗细之前写上.weight来指定-(如果该字体支持该粗细,因为并非所有fontFamily都支持粗细 UIFont.Weight的类型)
  • 在以下情况下,这是用于样式化字体的更可取的方法 您没有使用默认的SystemFont