Установить часть текста UILabel жирным шрифтом и другую часть курсивом

Есть ли способ установить часть UILabel быть смелым и другой курсивом?

Как в

Быстрая коричневая лиса перепрыгивает через ленивую собаку.

Кажется, я не могу сделать это с помощью TTTAttributedLabel

2 ответа

Решение

Вы можете сделать это с помощью NSMutableAttributedString

NSMutableAttributedString *strText = [[NSMutableAttributedString alloc] initWithString:@"Setting different for label text"];
[strText addAttribute:NSFontAttributeName
              value:[UIFont fontWithName:@"Helvetica-Bold" size:22]
              range:NSMakeRange(0, 10)];
[strText addAttribute:NSFontAttributeName
              value:[UIFont fontWithName:@"Helvetica-Italic" size:22]
              range:NSMakeRange(10, 10)];

Swift 4 код:

var strText = NSMutableAttributedString(string: "Setting different for label text")
strText.addAttribute(.font, value: UIFont(name: "Helvetica-Bold", size: 22)!, range: NSRange(location: 0, length: 10))
strText.addAttribute(.font, value: UIFont(name: "Helvetica-Italic", size: 22)!, range: NSRange(location: 10, length: 10))

Начиная с iOS 6 вы можете установить UILabel.attributedText для NSAttributedString

var customString = NSMutableAttributedString(string: "my String");

customString.addAttribute(NSFontAttributeName, value: UIFont.systemFontOfSize(15), range: NSRange(1...3))

var label  = UILabel();
label.attributedText = customString;
Другие вопросы по тегам