Objective c NSAttribute字符串的用途是什么?
正如在标题中一样,我很难理解属性化字符串的用途,除了它用于UITableViewController中的UI(例如UIRefreshControl)之外Objective c NSAttribute字符串的用途是什么?,objective-c,cocoa,cocoa-touch,Objective C,Cocoa,Cocoa Touch,正如在标题中一样,我很难理解属性化字符串的用途,除了它用于UITableViewController中的UI(例如UIRefreshControl)之外 它有什么好处?它只允许某些字符串具有自定义颜色、字体等吗?你是对的,它就是这么做的。它允许您将可视属性指定给字符串的任何部分 事实上,它在某些情况下非常有用。例如,可以在某些文本上添加删除线属性,以直观地指示该文本已被删除 另一个例子是,假设您有一个短段落显示为黑色标签,带有属性字符串,您可以用红色突出显示两个关键字 NSAttributedS
它有什么好处?它只允许某些字符串具有自定义颜色、字体等吗?你是对的,它就是这么做的。它允许您将可视属性指定给字符串的任何部分 事实上,它在某些情况下非常有用。例如,可以在某些文本上添加删除线属性,以直观地指示该文本已被删除 另一个例子是,假设您有一个短段落显示为黑色标签,带有属性字符串,您可以用红色突出显示两个关键字 NSAttributedString在许多情况下非常有用 在中可以呈现自定义字体、自定义标签颜色;它可以应用多种不同的文本样式,如下划线、删除线、粗体、斜体、标题;或者高亮显示您想要的字符串的任何部分 但在我看来,最好的部分是,您甚至可以使用NSAttributedString在label实例中呈现HTML文本,以防您希望使用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];
您可以在这里阅读所有内容:谢谢Eugene,我总是忘记联机开发文档比XCode中的文档更具信息性。在竞争平台上,像按钮这样的操作很难实现。不要低估这里的附加值。