【Swift】UIFont | ポケットリファレンス サンプル付き

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
おすすめの本

 

タイトルとURLをコピーしました