Swiftを使ってUIButtonのフォントを変更しようとしています...
myButton.font = UIFont(name: "...", 10)
しかし.font
は非推奨であり、そうでなければフォントを変更する方法がわかりません。
助言がありますか?
代わりにtitleLabel
を使用してください。 font
プロパティはiOS 3.0では非推奨です。 Objective-Cでも機能しません。 titleLabel
はUIButton
にタイトルを表示するために使用されるラベルです。
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
ただし、タイトルテキストを設定している間はsetTitle:forControlState:
のみを使用してください。タイトルのテキストを直接設定するためにtitleLabel
を使用しないでください。
Swift 3.0の場合:
button.titleLabel?.font = UIFont.boldSystemFont(ofSize: 16)
「boldSystemFont」と「16」は、カスタムフォントとサイズに置き換えることができます。
btn.titleLabel?.font = .systemFont(ofSize: 12)
あなたはそれを設定するためにtitleLabelの展開を強制する必要はありません。
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
ここではtitleLabelを使用していないので、オプションでそれを使用することができます。それがnilである場合は、何もしません。
また、他の人が言っているように、fontプロパティは廃止予定であり、タイトルテキストを設定するときはsetTitle:forControlState:
を必ず使用してください。
フォントサイズの問題がある場合(フォントがサイズ変更に反応しない).
@codesterは正しいコードを持っています:
myButton.titleLabel!.font = UIFont(name: YourfontName, size: 20)
しかし、私のフォントサイズは変わりませんでした。私は存在しないフォントを要求しているのです( "HelveticaNeue-Regular")。それはクラッシュを引き起こしていませんでした、しかしそれが原因でそのフォントステートメントを単に無視しているようでした。フォントを既存のものに変更したら、 "size:x"に変更するとレンダリングされます。
これはSwift 3.0で動作します。
btn.titleLabel?.font = UIFont(name:"Times New Roman", size: 20)
あなたはtitleLabel
プロパティを通らなければなりません。
button.titleLabel.font
font
プロパティはiOS 3.0から非推奨になりました。
以下のような異なる種類のシステムフォントを使用できます
myButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: 17)
myButton.titleLabel?.font = UIFont.italicSystemFont(ofSize:UIFont.smallSystemFontSize)
myButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: UIFont.buttonFontSize)
下記のようなあなたのカスタムフォント
myButton.titleLabel?.font = UIFont(name: "Helvetica", size:12)
AttributedStringをUIButtonに設定している場合は、次のことができます。
let attributedText = NSAttributedString(string: "Hello", attributes: [NSAttributedStringKey.font: UIFont(name: "Calibri", size: 19)])
okayButton.setAttributedTitle(attributedText, for: .normal)
サイズだけを変更する必要がある場合(Swift 4.0):
button.titleLabel?.font = button.titleLabel?.font.withSize(12)
この方法は今はうまくいきません。
btn.titleLabel?.font = UIFont(name: "Helvetica", size:12)
これは動作します:
btn.titleLabel?.font = UIFont.init(name: "Helvetica", size:12)
例:button.titleLabel?.font = UIFont(name: "HelveticaNeue-Bold", size: 12)
私のためにこの仕事、ありがとう。フォント名だけでなく、文字サイズを変更したいのですが。
var fontSizeButtonBig:Int = 30
btnMenu9.titleLabel?.font = .systemFont(ofSize:CGFloat(fontSizeButtonBig))