UIFont サンプル
サンプルで動作を確認 コピーペーストで確認できます。
全体をコピー後、不必要な部分を削除することでコーディングを素早くできます。
// フォント名とサイズを指定して UIFont インスタンス作成します。 let font1 = UIFont(name: "Academy Engraved LET",size: 12.0) // UIFontDescriptorとフォントサイズを指定して UIFont インスタンス作成します。 let descriptor = UIFontDescriptor(fontAttributes: [ UIFontDescriptorNameAttribute: "HiraKakuProN-W6", ]) let font2 = UIFont(descriptor:descriptor,size:5) // サイズを指定してシステムフォントの UIFont インスタンス作成します。 let font4 = UIFont.systemFontOfSize(12.0) // サイズとウエイトを指定してシステムフォントの UIFont インスタンス作成します。 let font5 = UIFont.systemFontOfSize(12.0,weight: 5) // 太字のシステムにサイズを指定して UIFont インスタンス作成します。 let font6 = UIFont.boldSystemFontOfSize(12.0) // イタリックのシステムフォントにサイズを指定して UIFont インスタンス作成します。 let font7 = UIFont.boldSystemFontOfSize(12.0) // monospace Digit のシステムフォントにサイズとウエイトを指定して UIFont インスタンス作成します。 let font8 = UIFont.monospacedDigitSystemFontOfSize(12.0,weight:UIFontWeightUltraLight) // 作成済みのUIFontインスタンスからフォントサイズ指定して新しいインスタンスを作成します。 let font9 = UIFont(name: "Academy Engraved LET",size: 12.0) let font10 = font9!.fontWithSize(12)
UIFont 概要
フォントを利用する時に利用します。
- Import Statement
import UIKit - Available
iOS 2.0 and later - Inherits
NSObject
イニシャライザー (初期化)
■ フォント名とサイズを指定して UIFont インスタンスを作成
init(name:size:) init(フォントの名前、フォントサイズ)
※ フォント名一覧を最後に記述しました。
let font = UIFont(name: “Academy Engraved LET”,size: 12.0)
■ UIFontDescriptorとフォントサイズを指定して UIFont インスタンスを作成
init(descriptor descriptor: UIFontDescriptor,size pointSize: CGFloat)
init(ディスクリプタ、フォントサイズ)
UIFontDescriptor に関しては UIFontDescriptor のドキュメントを参照ください。
let descriptor = UIFontDescriptor(fontAttributes: [ UIFontDescriptorNameAttribute: "HiraKakuProN-W6", ]) let font = UIFont(descriptor:descriptor,size:5)
クラスメソッド
■ 定義済みのフォントを指定して UIFont インスタンスを作成
class func preferredFontForTextStyle(_ style: String) -> UIFont
※ 定義済みのフォントを最後に記述しました。
let font = UIFont.preferredFontForTextStyle(UIFontTextStyleHeadline)
■ サイズを指定してシステムフォントの UIFont インスタンスを作成
class func systemFontOfSize(_ fontSize: CGFloat) -> UIFont
let font = UIFont.systemFontOfSize(12.0)
■ サイズとウエイトを指定してシステムフォントの UIFont インスタンスを作成
class func systemFontOfSize(_ fontSize: CGFloat,weight weight: CGFloat) -> UIFont
let font = UIFont.systemFontOfSize(12.0,weight: 5)
■ 太字のシステムにサイズを指定して UIFont インスタンスを作成
class func boldSystemFontOfSize(_ fontSize: CGFloat) -> UIFont
let font = UIFont.boldSystemFontOfSize(12.0)
■ イタリックのシステムフォントにサイズを指定して UIFont インスタンスを作成
class func italicSystemFontOfSize(_ fontSize: CGFloat) -> UIFont
let font = UIFont.boldSystemFontOfSize(12.0)
■ monospace Digit のシステムフォントにサイズとウエイトを指定して UIFont インスタンスを作成
class func monospacedDigitSystemFontOfSize(_ fontSize: CGFloat,weight weight: CGFloat) -> UIFont
UIFontWeightUltraLight に関しては UIFontDescriptor のドキュメントを参照ください。
let font12 = UIFont.monospacedDigitSystemFontOfSize(12.0,weight: UIFontWeightUltraLight)
■ 実行している OS で利用可能なフォントファミリー一覧を配列で取得
class func familyNames() -> [String]
print(UIFont.familyNames())
■ フォントファミリー名からフォント名を配列で取得
class func fontNamesForFamilyName(_ familyName: String) -> [String]
print(UIFont.fontNamesForFamilyName("Menlo")) Menlo-Italic Menlo-Bold
■ デフォルト基準のフォントサイズを取得
class func labelFontSize() -> CGFloat
print(UIFont.labelFontSize())
■ デフォルト基準のボタンのフォントサイズを取得
class func buttonFontSize() -> CGFloat
print(UIFont.buttonFontSize())
■ デフォルト基準のスモールシステムフォントのフォントサイズを取得
class func smallSystemFontSize() -> CGFloat
print(UIFont.smallSystemFontSize())
■ デフォルト基準のシステムフォントのフォントサイズを取得
class func systemFontSize() -> CGFloat
print(UIFont.systemFontSize())
インスタンスメソッド
■ 作成済みのUIFontインスタンスからフォントサイズ指定して新しいインスタンスを作成
func fontWithSize(_ fontSize: CGFloat) -> UIFont
let font = UIFont(name: "Academy Engraved LET",size: 12.0) let font2 = font.fontWithSize(12)
■ インスタンスのディスクリプタを取得
func fontDescriptor() -> UIFontDescriptor
let font = UIFont.systemFontOfSize(16) let descriptor = font.fontDescriptor()
プロパティ
■ インスタンスに設定されているフォントファミリー名を取得
var familyName: String { get }
let font = UIFont.systemFontOfSize(16) print(font.familyName)
■ インスタンスに設定されているフォント名を取得
var fontName: String { get }
let font = UIFont.systemFontOfSize(16) print(font.fontName)
■ インスタンスに設定されているポイントのサイズを取得
var pointSize: CGFloat { get }
let font = UIFont.systemFontOfSize(16) print(font.pointSize)
■ var ascender: CGFloat { get }
let font = UIFont.systemFontOfSize(16) print(font.ascender)
■ var descender: CGFloat { get }
let font = UIFont.systemFontOfSize(16) print(font.descender)
■ var leading: CGFloat { get }
let font = UIFont.systemFontOfSize(16) print(font.leading)
■ var capHeight: CGFloat { get }
let font = UIFont.systemFontOfSize(16) print(font.capHeight)
■ var xHeight: CGFloat { get }
let font = UIFont.systemFontOfSize(16) print(font.xHeight)
■ インスタンスに設定されているラインの高さのサイズを取得
var lineHeight: CGFloat { get }
let font = UIFont.systemFontOfSize(16) print(font.lineHeight)
定義済みフォント一覧(Font For Text Style)
UIFontTextStyleTitle1 UIFontTextStyleTitle2 UIFontTextStyleTitle3 UIFontTextStyleHeadline UIFontTextStyleSubheadline UIFontTextStyleBody UIFontTextStyleFootnote UIFontTextStyleCaption1 UIFontTextStyleCaption2 UIFontTextStyleCallout
フォントファミリー名一覧(例なので、OSによって異なる)
Academy Engraved LET Al Nile American Typewriter Apple Color Emoji Apple SD Gothic Neo Arial Arial Hebrew Arial Rounded MT Bold Avenir Avenir Next Avenir Next Condensed Bangla Sangam MN Baskerville Bodoni 72 Bodoni 72 Oldstyle Bodoni 72 Smallcaps Bodoni Ornaments Bradley Hand Chalkboard SE Chalkduster Cochin Copperplate Courier Courier New Damascus Devanagari Sangam MN Didot Euphemia UCAS Farah Futura Geeza Pro Georgia Gill Sans Gujarati Sangam MN Gurmukhi MN Heiti SC Heiti TC Helvetica Helvetica Neue Hiragino Mincho ProN Hiragino Sans Hoefler Text Iowan Old Style Kailasa Kannada Sangam MN Khmer Sangam MN Kohinoor Bangla Kohinoor Devanagari Kohinoor Telugu Lao Sangam MN Malayalam Sangam MN Marker Felt Menlo Mishafi Noteworthy Optima Oriya Sangam MN Palatino Papyrus Party LET PingFang HK PingFang SC PingFang TC Savoye LET Sinhala Sangam MN Snell Roundhand Symbol Tamil Sangam MN Telugu Sangam MN Thonburi Times New Roman Trebuchet MS Verdana Zapf Dingbats Zapfino
おすすめの本