ios - 在 UITextField 中将部分文本设为粗体

标签 ios swift

基于答案 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
}

但它不起作用,我所有的文本都是一样的(我认为是粗体) 我做错了什么?

最佳答案

享受 - 下面的代码适用于 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 导出

关于ios - 在 UITextField 中将部分文本设为粗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43320048/

相关文章:

ios - UITableViewCell,设置带有多个标签的动态高度

ios - InAppBrowser 注入(inject)脚本(使用 executeScript)

ios - 在 Swift 扩展中存储变量的替代方法

ios - 直接使用 SSZipArchive 压缩 NSData 不工作

swift - 将 xib 文件添加到 Swift 包

android - 适用于平板电脑的 html5 应用程序 : possible to load images from device's filesystem?

ios - 删除 NSDictionary 中的特定对象

swift - 将 Xml 解析为数组(Swift)

swift - 如何复制 UIViewController 数组

iOS 的 MySQL 包装器