更改文本时 UILabel 中等宽字体的奇怪行为
Strange behaviour with monospaced font in UILabel when changing text
我在使用 monospacedDigitSystemFont(ofSize:weight:)
时遇到一个奇怪的问题
我的 UIViewController
里有一个 UISlider
和一个 UILabel
。标签显示滑块的当前值 + 一些描述文本。更改滑块值时,myLabel
的文本会左右摇晃。我希望 myLabel
的文本不会左右摇晃,因为我使用的是 monospacedDigitSystemFont(ofSize:weight:)
。
这是我的代码:
import UIKit
class ExampleViewController: UIViewController {
@IBOutlet weak var myLabel: UILabel!
@IBOutlet weak var mySlider: UISlider!
override func viewDidLoad() {
super.viewDidLoad()
myLabel.font = UIFont.monospacedDigitSystemFont(ofSize: 15, weight: .bold)
}
@IBAction func sliderChanged(_ sender: UISlider) {
myLabel.text = String(format: "%.5f is the actual Value of the Slider", sender.value)
}
}
关于微动的GIF:
有什么建议吗?我错过了什么吗?
这是一个可怕的错误,它是由 粗体 等宽字体引起的。将权重设置为常规可以解决这个问题。
myLabel.font = UIFont.monospacedDigitSystemFont(ofSize: 15, weight: .regular)
如果您仍想使用粗体,请考虑使用 non-standard 等宽字体。
我在使用 monospacedDigitSystemFont(ofSize:weight:)
我的 UIViewController
里有一个 UISlider
和一个 UILabel
。标签显示滑块的当前值 + 一些描述文本。更改滑块值时,myLabel
的文本会左右摇晃。我希望 myLabel
的文本不会左右摇晃,因为我使用的是 monospacedDigitSystemFont(ofSize:weight:)
。
这是我的代码:
import UIKit
class ExampleViewController: UIViewController {
@IBOutlet weak var myLabel: UILabel!
@IBOutlet weak var mySlider: UISlider!
override func viewDidLoad() {
super.viewDidLoad()
myLabel.font = UIFont.monospacedDigitSystemFont(ofSize: 15, weight: .bold)
}
@IBAction func sliderChanged(_ sender: UISlider) {
myLabel.text = String(format: "%.5f is the actual Value of the Slider", sender.value)
}
}
关于微动的GIF:
有什么建议吗?我错过了什么吗?
这是一个可怕的错误,它是由 粗体 等宽字体引起的。将权重设置为常规可以解决这个问题。
myLabel.font = UIFont.monospacedDigitSystemFont(ofSize: 15, weight: .regular)
如果您仍想使用粗体,请考虑使用 non-standard 等宽字体。