Mais conteúdo relacionado
Semelhante a アプリ開発におけるテキスト装飾のアイデア集 (18)
アプリ開発におけるテキスト装飾のアイデア集
- 6. よく利用するAttributedTextの設定クラスでまとめる
例. UILabelにおけるAttribute定義を共通化する
final class UILabelDecorator {
// MARK: - Static Function
// 該当のUILabelに付与する属性を設定する
static func getLabelAttributesBy(keys: (lineSpacing: CGFloat, font: UIFont, foregroundColor: UIColor)) -> [NSAttributedString.Key :
Any] {
// 行間に関する設定をする
// MEMO: lineBreakModeの指定しないとはみ出た場合の「...」が出なくなる
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineSpacing = keys.lineSpacing
paragraphStyle.lineBreakMode = .byTruncatingTail
// 上記で定義した行間・フォント・色を属性値として設定する
var attributes: [NSAttributedString.Key : Any] = [:]
attributes[NSAttributedString.Key.paragraphStyle] = paragraphStyle
attributes[NSAttributedString.Key.font] = keys.font
attributes[NSAttributedString.Key.foregroundColor] = keys.foregroundColor
return attributes
}
}
利用するものが多い場合にはtypealiasやstructを利用
良く利用するものをひとまとめにする!