カスタムフォントにこれが必要な場合は、おそらく「拡張機能」自体は必要ありません...
どこからでも(つまり、クラスなしで)呼び出すことができる関数(上記のいくつかと同様)を追加するだけで、コードの1行だけを呼び出すことで、多くの場合、任意の文字列内の単語を強調できます。
constants.swift のようなファイルに移動するには:
import Foundation
import UIKit
func addBoldText(fullString: NSString, boldPartOfString: NSString, font: UIFont!, boldFont: UIFont!) -> NSAttributedString {
let nonBoldFontAttribute = [NSFontAttributeName:font!]
let boldFontAttribute = [NSFontAttributeName:boldFont]
let boldString = NSMutableAttributedString(string: fullString as String, attributes:nonBoldFontAttribute)
boldString.addAttributes(boldFontAttribute, range: fullString.rangeOfString(boldPartOfString as String))
return boldString
}
次に、任意の UILabel に対してこの 1 行のコードを呼び出すことができます。
self.UILabel.attributedText = addBoldText("Check again in 30 DAYS to find more friends", boldPartOfString: "30 DAYS", font: normalFont!, boldFont: boldSearchFont!)
//Mark: Albeit that you've had to define these somewhere:
let normalFont = UIFont(name: "INSERT FONT NAME", size: 15)
let boldFont = UIFont(name: "INSERT BOLD FONT", size: 15)