Swiftを使用してUIButtonのフォントを変更しようとしています...
myButton.font = UIFont(name: "...", 10)
ただし.font
、非推奨であり、フォントを変更する方法がわからない。
助言がありますか?
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
タイトルのテキストを直接設定するために使用しないでください。
titleLabel
はオプションのプロパティです。以前はベータ版でしたので、ありませんでした。
myButton.titleLabel?.font = ...
titleLabelがnilの場合は動作しないため、機能します
用スウィフト3.0:
button.titleLabel?.font = UIFont.boldSystemFont(ofSize: 16)
「boldSystemFont」と「16」は、カスタムフォントとサイズに置き換えることができます。
btn.titleLabel?.font = .systemFont(ofSize: 12)
ドキュメントから:
ボタンにテキストを表示するために使用されるフォント。(iOS 3.0では非推奨。代わりにの
font
プロパティを使用してくださいtitleLabel
。)
フォントサイズの問題がある場合(フォントがサイズ変更に応答しない場合)...
@codesterには正しいコードがあります:
myButton.titleLabel!.font = UIFont(name: YourfontName, size: 20)
しかし、フォントサイズは変わりませんでした。実在しないフォント( "HelveticaNeue-Regular")を求めていることがわかりました。クラッシュの原因ではありませんでしたが、そのためにそのフォントステートメントを無視しているように見えました。フォントを既存のものに変更すると、「サイズ:x」を変更してもレンダリングされました。
以下のようなさまざまなタイプのシステムフォントを使用できます
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)