私はadjustsToFitWidthをtrueに設定したラベルをプログラムで作成しました。フォントを変更したいのですが、ラベルのフォントサイズを一定にしないと変更できません。誰も私が迅速にUILabelのフォントサイズではなくフォントのみを変更する方法を知っていますか?
フォントサイズを取得して、この値で新しいフォントを指定してみませんか?
let fontSize = self.label.font.pointSize;
self.label.font = UIFont(name: "HelveticaNeue", size: fontSize)
次のようにできます:
label.font = UIFont(name: "Arial", size: label.font.pointSize)
これは、同じフォントサイズを使用します。「Arial」は、選択する任意のファミリにできます。
改善された答え。
UILabelサブクラス化:空のSwift=ファイルを追加して名前を付けます。例:EZLabel。次のコードを追加します。
import Foundation
import UIKit
class EZLabel: UILabel {
override func awakeFromNib() {
super.awakeFromNib()
changeFontName()
}
func changeFontName()
{
self.font = UIFont(name: "Roboto", size: self.font.pointSize)
}
}
利点は、必要に応じてプロジェクト全体で各UILabelのフォントを変更する必要がないことです。
extension UILabel {
override open func awakeFromNib() {
super.awakeFromNib()
changeFontName()
}
func changeFontName()
{
self.font = UIFont(name: "YOUR_FONT_NAME", size: self.font.pointSize)
}
}
/* Do this also for buttons and any uiviews */