Changing font size by using UISlider
我无法执行此操作,并且此代码不在viewDidLoad()
内部
1 2 3 4 5 6 7 8 9 | @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内部。
您是否使用autoLayout定位视图?
这应该起作用:
1 2 3 4 5 6 7 8 | @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对象上正确设置了约束。