2014-11-13 3 views
1

Я хочу напечатать текст жирным, используя строку, которая печатает в почте от создания письма моего приложенияКак применить полужирный шрифт в формате html в iOS?

messageBody = [NSString stringWithFormat:@"<b>Background Information</b>"]; 
+0

Не могли бы вы объяснить немного больше ваших потребностей? Это строка, основанная на пользовательском вводе, или она будет одинаковой каждый раз? С чем связана составление почты? – Acey

+0

messageBody = [NSString stringWithFormat: @»Справочная информация]; в композитору почте„ Справочная информация“, эта строка будет отображаться жирным шрифтом формате – Prasad

+0

Вы говорите, почта композитор имеет такую ​​функциональность, и вы хотели бы его в вашем приложении тоже? Что вы пытаетесь сделать? – Acey

ответ

1
What you could do is use an NSAttributedString. 

NSString *boldFontName = [[UIFont boldSystemFontOfSize:12] fontName]; 
NSString *yourString = ...; 
NSRange boldedRange = NSMakeRange(22, 4); 

NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:yourString]; 

[attrString beginEditing]; 
[attrString addAttribute:kCTFontAttributeName 
        value:boldFontName 
        range:boldedRange]; 

[attrString endEditing]; 
//draw attrString here... 

or 

use this code 

you do not want to bother with fonts (as not every variation of font contains "Bold"), here is another way to do this: 

    NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:"Approximate Distance: 120m away"]; 
    [attrString beginEditing]; 
    [attrString applyFontTraits:NSBoldFontMask 
         range:NSMakeRange(22, 4)]; 
    [attrString endEditing]; 
+0

Мне нужно применять для строк не для этикеток? – Prasad

+0

, пожалуйста, прочтите это http://www.cocoanetics.com/2011/01/befriending-core-text/ для ссылки –

0

NSAttributedString звучит как инструмент вам нужно. В iOS 7 они добавили поддержку для разбора HTML-строк с базовой разметкой для стилизации в NSAttributedStrings. Это довольно просто:

NSMutableAttributedString *titleString = [[NSMutableAttributedString alloc] initWithData:[someHTMLString dataUsingEncoding:NSUTF8StringEncoding] options:@{NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType} documentAttributes:NULL error:nil]; 
self.someLabel.attributedText = titleString; 

Если вы хотите добавить стиль шрифта, я нашел, что это лучше, чтобы добавить срок со шрифтом указанного вокруг текста перед созданием NSMutableAttributedString.

NSString *styledTitle = [NSString stringWithFormat:@"<span style=\"font-family:'%@'; font-size:%dpx;\">%@</span>", someFont.fontName, (int)someFont.pointSize, someHTMLString]; 
Смежные вопросы