2014-10-11 3 views
-1

Как и в заголовке, мне трудно понять назначение присваиваемых строк, кроме того, что он используется в таких случаях, как UI, например UIRefreshControl внутри UITableViewController.Какова цель строки NSAttributed?

Какую пользу это дает? Это просто позволяет некоторым строкам иметь пользовательские цвета, шрифты и т. Д.?

+0

вас может прочитать все об этом здесь: https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSAttributedString_Class/Reference/Reference.html#//apple_ref/doc/uid/20000166-95039 –

+0

Спасибо Eugene, я всегда забываю, что dev docs online более информативен, чем тот, что есть в XCode. – Leo

ответ

0

NSAttributedString весьма полезен во многих случаях.

In может отображать пользовательский шрифт, пользовательский цвет для ваших ярлыков; он может применять много разных стилей текста, таких как подчеркивание, зачеркивание, полужирный, курсив, заголовок; или для подсветки любой части строки, которую вы хотите.

Но лучшая часть, на мой взгляд, что вы можете даже сделать HTML текст внутри экземпляра этикетки только с помощью NSAttributedString, в случае, если вы хотите отобразить стилизованный текст с помощью CSS:

NSString *htmlString = @"<style>h1{ color: cyan }</style>" 
         "<h1>Hello World</h1> " 
         "<p>This is a paragraph</p>"; 

NSDictionary *option = @{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType }; 
NSError *dealDescriptionAttributedError; 
NSData *dealDescriptionData = [string dataUsingEncoding:NSUTF16StringEncoding]; 
NSAttributedString *htmlAttributedString = [[NSAttributedString alloc] initWithData:dealDescriptionData 
                      options:option 
                   documentAttributes:nil 
                       error:&dealDescriptionAttributedError]; 
1

Вы правы, и это все, что он делает. Он позволяет назначать визуальные атрибуты любой части строки.

Действительно, это очень полезно в некоторых случаях. Например, вы можете поместить атрибут strikethrough на некоторый текст, чтобы визуально указать, что текст был удален.

Другой пример, скажем, что у вас есть короткий абзац, отображаемый как ярлык черного цвета, с атрибутной строкой, вы можете выделить пару ключевых слов красным цветом.

+0

На конкурирующих платформах выполнение таких вещей, как «кнопка со стилизованным текстом внутри», может быть чрезвычайно сложной задачей. Не стоит недооценивать добавленную стоимость. – StilesCrisis

Смежные вопросы