我有一个标头标签,正在调整其字体大小,以适合标签的大小。我想存储该字体大小的值,以便可以为其设置一些按钮的字体大小。
我试图只存储标签的pointSize,但这只是给我未调整的值,而不是实际上有效的值。
这样做的原因是,我希望标签和按钮中所有文本的大小在不同大小的iPad屏幕上看起来都不错。但是我很难在多个元素上保持相同的大小。
class ViewController: UIViewController {
@IBOutlet weak var essenceButton: UIButton!
@IBOutlet weak var titleLabel: UILabel!
@IBOutlet weak var tribesButton: UIButton!
@IBOutlet weak var creaturesButton: UIButton!
@IBOutlet weak var monstersButton: UIButton!
@IBOutlet weak var musesButton: UIButton!
@IBOutlet weak var newsletterButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
self.titleLabel.adjustsFontSizeToFitWidth = true
let fontsize = self.titleLabel.font.pointSize
self.essenceButton.titleLabel?.font = essenceButton.titleLabel?.font.withSize(fontsize)
self.tribesButton.titleLabel?.font = tribesButton.titleLabel?.font.withSize(fontsize)
}
}
答案 0 :(得分:0)
在viewDidLoad()
,该视图及其子视图(包括标签)尚未在设备屏幕上进行布局,因此标签的字体大小未更改。
您应该可以在viewWillLayoutSubviews()
中进行此操作:
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
view.layoutIfNeeded()
// Code to adjust font of the other UI items here
}