Skip to content

Instantly share code, notes, and snippets.

@KentarouKanno
Last active May 4, 2016 15:27
Show Gist options
  • Save KentarouKanno/3b93b02dc571ce0d6e9e to your computer and use it in GitHub Desktop.
Save KentarouKanno/3b93b02dc571ce0d6e9e to your computer and use it in GitHub Desktop.
UIFont

UIFont

★ フォントの生成(標準,12)

let font = UIFont.systemFontOfSize(12)

★ フォントの生成(太字,12)

let font = UIFont.boldSystemFontOfSize(12)

★ フォントの生成(斜体,12)

let font = UIFont.italicSystemFontOfSize(12)

★ フォントの生成(Helvetica,20)

let font = UIFont(name:"Helvetica", size: 20)

★ フォントの生成(標準,標準サイズ)

let font = UIFont.systemFontOfSize(UIFont.systemFontSize())

★ フォントの生成(標準,標準サイズよりも小さめのサイズ)

let font = UIFont.systemFontOfSize(UIFont.smallSystemFontSize())

★ フォントの生成(標準,ボタンで使用される標準的なサイズ)

let font = UIFont.systemFontOfSize(UIFont.buttonFontSize())

★ フォントの生成(標準,ラベルで使用される標準的なサイズ)

let font = UIFont.systemFontOfSize(UIFont.labelFontSize())

★ フォント名を取得する

let font = UIFont(name:"HelveticaNeue", size: 14)
let fontName = font?.fontName

//=> fontName = "HelveticaNeue"

★ フォント名一覧を取得

var familyNames: [String] = UIFont.familyNames();

for fontFamily in familyNames {
    let fontNames: [String] = UIFont.fontNamesForFamilyName(fontFamily);
    print("\(fontFamily),\(fontNames)")
}

★ UILabelのフォントを等幅フォントにするextension

How to get monospaced numbers in UILabel on iOS 9

// ラベルのIBOutletにdidSetを追加
@IBOutlet private var label: UILabel? {
    didSet {
        label.font = label.font.monospacedDigitFont
    }
}


// 以下はextension
extension UIFont {
    var monospacedDigitFont: UIFont {
        let oldFontDescriptor = fontDescriptor()
        let newFontDescriptor = oldFontDescriptor.monospacedDigitFontDescriptor
        return UIFont(descriptor: newFontDescriptor, size: 0)
    }
}

private extension UIFontDescriptor {
    var monospacedDigitFontDescriptor: UIFontDescriptor {
        let fontDescriptorFeatureSettings = [[UIFontFeatureTypeIdentifierKey: kNumberSpacingType, UIFontFeatureSelectorIdentifierKey: kMonospacedNumbersSelector]]
        let fontDescriptorAttributes = [UIFontDescriptorFeatureSettingsAttribute: fontDescriptorFeatureSettings]
        let fontDescriptor = self.fontDescriptorByAddingAttributes(fontDescriptorAttributes)
        return fontDescriptor
    }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment