2017-01-18 4 views
-2

Можно ли выборочно изменить шрифт в частях UITextView?iOS/Swift: Можно ли выборочно изменить шрифт в частях UITextView?

У меня есть UITextView и хотел бы выборочно изменить размер и стиль шрифта для его частей. Например

Lorem Ipsum Dolor сидячей эр Элит Lamet, consectetaur cillium adipisicing pecu, СЭД у eiusmod Tempor incididunt ут Лаборе ЕТ Dolore MAGNA aliqua. Ut enim объявление миним veniam

+3

Используя 'NSAttributedString', вы можете достичь этого. – Santosh

+0

Абсолютно можно. Хотя, по моему мнению, с осторожностью следует сделать эту атрибутную строку универсальным методом, который можно назвать где угодно. Известно, что Apple модифицирует синтаксис обновления версии Swift. – user3124081

+1

Возможный дубликат [Полужирный и нежирный текст в одном UILabel?] (Http://stackoverflow.com/questions/3586871/bold-non-bold-text-in-a-single-uilabel) – keithbhunter

ответ

0

мы можем достичь этого с помощью NSString и атрибутов с rangeofString: метод

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 
2

Вы можете использовать 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 
Смежные вопросы