นี่เป็นวิธีที่ดีที่สุดที่ฉันคิดขึ้นมา เพิ่มฟังก์ชั่นที่คุณสามารถโทรได้จากทุกที่และเพิ่มลงในไฟล์โดยไม่มีคลาสเช่น Constants.swift จากนั้นคุณสามารถรวบรวมคำภายในสตริงใดก็ได้ในหลาย ๆ ครั้งโดยเรียกรหัสเพียงบรรทัดเดียว :
ในการไปยังไฟล์ 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 ใดก็ได้:
self.UILabel.attributedText = addBoldText("Check again in 30 DAYS to find more friends", boldPartOfString: "30 DAYS", font: normalFont!, boldFont: boldSearchFont!)
let normalFont = UIFont(name: "INSERT FONT NAME", size: 15)
let boldFont = UIFont(name: "INSERT BOLD FONT", size: 15)