Skip to content

How To Use

RedRimmedBox edited this page Dec 27, 2022 · 2 revisions

つみじの基本的な使い方

レッスン 1 - Editor をインスタンス化する

Editor()

レッスン 2 - テキストを追加する

Editor()
    .text("tsumiji")

レッスン 3 - 追加したテキストにフォントを指定する

font メソッドと fontEnd メソッドでテキストを挟みます.

Editor()
    .font([.fontColor: UIColor.red]).text("tsumiji").fontEnd()

レッスン 4 - さらにテキストを追加していく

Editor()
    .font([.fontColor: UIColor.red]).text("tsumiji").fontEnd().text("tsumiji_2")

レッスン 5 - NSAttributedString のインスタンスを受け取る

let attributedString = Editor()
    .font([.fontColor: UIColor.red]).text("tsumiji").fontEnd().text("tsumiji_2")
    .product

応用編

フォントをあらかじめ定義する

extension Attribute {
    static let red: Attribute = [.fontColor: UIColor.red]
}

let attributedString = Editor()
    .font(.red).text("tsumiji").fontEnd().text("tsumiji_2")
    .product

複数のフォントを組み合わせる

extension Attribute {
    static let hiragino: Attribute = [.fontName: "HiraginoSans-W0"]
    static let red: Attribute = [.fontColor: UIColor.red]
    static let hiraginoBoldRed: Attribute = [.fontName: "HiraginoSans-W9", .fontColor: UIColor.red]
}

// "tsumiji" -> .hiragino + .red
// "tsumiji_2" -> .hiragino
// "tsumiji_3" -> .hiraginoBoldRed
let attributedString = Editor()
    .font(.hiragino).font(.red).text("tsumiji").fontEnd().text("tsumiji_2").fontEnd()
    .font(.hiraginoBoldRed).text("tumiji_3").fontEnd()
    .product