iOS/Swift:是否可以有选择地更改UITextView部分中的字体?
是否可以有选择地更改UITextView部分中的字体 我有一个UITextView,希望有选择地更改部分内容的字体大小和样式。比如说 Lorem ipsum dolorsit er elit lamet,consectetaur cillium ADIPISCING pecu,在劳工和大型企业中使用临时eiusmod 阿利夸。Ut enim ad最小值iOS/Swift:是否可以有选择地更改UITextView部分中的字体?,ios,swift,uitextview,Ios,Swift,Uitextview,是否可以有选择地更改UITextView部分中的字体 我有一个UITextView,希望有选择地更改部分内容的字体大小和样式。比如说 Lorem ipsum dolorsit er elit lamet,consectetaur cillium ADIPISCING pecu,在劳工和大型企业中使用临时eiusmod 阿利夸。Ut enim ad最小值 我们可以通过rangeOfsString:方法使用NSString和属性来实现这一点 let longString = "Lorem ipsum
我们可以通过rangeOfsString:方法使用NSString和属性来实现这一点
let longString = "Lorem ipsum dolor. VeryLongWord ipsum foobar"
let longestWord = "VeryLongWord"
let longestWordRange = (longString as NSString).rangeOfString(longestWord)
let attributedString = NSMutableAttributedString(string: longString, attributes: [NSFontAttributeName : UIFont.systemFontOfSize(20)])
attributedString.setAttributes([NSFontAttributeName : UIFont.boldSystemFontOfSize(20), NSForegroundColorAttributeName : UIColor.redColor()], range: longestWordRange)
label.attributedText = attributedString
您可以使用
NSAttributedString
使用addAttribute方法为字符串提供属性
let string = "Bold Italics Roman"
let attributes = [NSFontAttributeName: UIFont(name: "Open Sans", size: 18.0)!]
let attributedText = NSMutableAttributedString(string: string, attributes: attributes)
let sampleString = string as NSString
let range = sampleString.range(of: "Italics")
attributedText.addAttribute(NSFontAttributeName, value: UIFont(name: "OpenSans-Italic", size: 18.0)!, range: range)
textView.attributedText = attributedText
使用
NSAttributedString
可以实现这一点。这绝对是可能的。尽管从我的经验来看需要谨慎一点,但最好将这个属性化字符串设置为可以在任何地方调用的通用方法。众所周知,苹果在Swift版本升级中修改了语法