使用UISlider更改字体大小

时间:2016-05-10 03:15:47

标签: ios swift 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()

}

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

screenshot http://i68.tinypic.com/2cz8upv.png

1 个答案:

答案 0 :(得分:1)

代码不必在viewDidLoad中。

您是否使用autoLayout定位视图?

这应该有效:

@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。通常,标签文本使用您在font属性中指定的字体绘制。
  • 在UILabel对象上正确设置了约束。