如何编辑NSAttributedString的属性?

时间:2015-05-28 10:02:13

标签: html ios swift nsattributedstring

我希望能够编辑我从api请求获得的HTML,更改字体以及增加其他内容。

let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {(data, response, error) in
    var dataString:String = NSString(data: data, encoding: NSUTF8StringEncoding)! as String
    dispatch_async(dispatch_get_main_queue()) {

        var attributedString:NSAttributedString = NSAttributedString(data: data, options:[NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute: NSUTF8StringEncoding], documentAttributes: nil, error: nil)!

        self.textView.attributedText =  attributedString
    }
}

1 个答案:

答案 0 :(得分:0)

要正确访问属性,您应该使用NSMutableAttributeString

将String实例化更改为:

var attributedString: NSMutableAttributedString = NSMutableAttributedString(data: data, options:[NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute: NSUTF8StringEncoding], documentAttributes: nil, error: nil)!

并添加如下属性:

mutableString.addAttribute(NSFontAttributeName, value: UIFont(name: "Avenir", size: 18.0)!, range: NSRange(location:2,length:4))

这只是一个例子,您可以创建自己的属性以满足您的需求。