根据答案here我制作了这段代码:
extension NSMutableAttributedString {
func bold(text:String, size:CGFloat) -> NSMutableAttributedString {
let attrs:[String:AnyObject] = [NSFontAttributeName : UIFont.boldSystemFontOfSize(size)]
let boldString = NSMutableAttributedString(string:"\(text)", attributes:attrs)
self.appendAttributedString(boldString)
return self
}
func normal(text:String)->NSMutableAttributedString {
let normal = NSAttributedString(string: text)
self.appendAttributedString(normal)
return self
}
}
我这样用它:
@IBOutlet weak var m_field: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
let string = NSMutableAttributedString()
string.bold("Bold_text: ",size: 12).normal("normal text")
m_field.attributedText = string
}
但它不起作用,我的所有文字都是一样的(我认为粗体) 我做错了什么?
答案 0 :(得分:2)
享受 - 以下代码适用于swift 3
let normalText = "Hi am normal"
let boldText = "And I am BOLD!"
let attributedString = NSMutableAttributedString(string:normalText)
let attrs = [NSFontAttributeName : UIFont.boldSystemFont(ofSize: 15)]
let boldString = NSMutableAttributedString(string:boldText, attributes:attrs)
attributedString.append(boldString)
txt.attributedText = attributedString
其中txt是TextField outlet
答案 1 :(得分:0)
assign "**string**" variable value to **attributedText** property
var m_field = UITextField()
m_field.frame = CGRect(x: 0, y: 66, width: 400, height: 100)
let string = NSMutableAttributedString()
string.bold("Bold_text: ",size: 15).normal("normal text")
m_field.attributedText = string
self.view .addSubview(m_field)