使用 UISlider 更改字体大小

Changing font size by using UISlider

我无法让它工作,而且这段代码不在 viewDidLoad() 中

@IBOutlet weak var label: UILabel!
@IBOutlet weak var slider: UISlider!

@IBAction func slider(sender: UISlider) {
    let senderValue = CGFloat(sender.value)
    label?.font = UIFont(name: (label?.font.fontName)!, size:senderValue * 20)
    label?.sizeToFit()

}

如果您能以任何方式提供帮助,那就太好了。

代码不必在 viewDidLoad 中。

您是否使用自动布局来定位您的视图?

这应该有效:

@IBOutlet weak var label: UILabel!
@IBOutlet weak var slider: UISlider!

@IBAction func sliderAction(sender: AnyObject) {
    print("Slider value \(slider.value)")

    self.label.font = UIFont.systemFontOfSize(CGFloat(slider.value * 20.0))
}

检查是否:

  • UIFont 对象已正确初始化。
  • 删除label?.sizeToFit。通常,标签文本使用您在字体 属性.
  • 中指定的字体绘制
  • 已在 UILabel 对象上正确设置约束。