作者热门文章
- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我正在尝试将我自己的 HTML 字符串解析为 NSAttributedString,以便在 UITextView 中呈现。
所以,当字符串出现时:
<strong><em>
This should be both bold and italic</strong></em>
我想对最终的 NSAttributedString 应用不同的粗体和斜体字体,这样如果用户在编辑过程中从中删除粗体或斜体字体,剩下的字体之一将保持不变。
这是我不想像其他 SO 答案所建议的那样简单地应用单一字体样式(如粗斜体)的主要原因。
最佳答案
这是我查阅不同来源后的答案:
UIFontDescriptor *fontDescriptor = [UIFontDescriptor preferredFontDescriptorWithTextStyle:UIFontTextStyleBody];
UIFontDescriptor *changedFontDescriptor;
NSDictionary *attributes;
uint32_t existingTraitsWithNewTrait = [fontDescriptor symbolicTraits] | UIFontDescriptorTraitBold | UIFontDescriptorTraitItalic;
changedFontDescriptor = [fontDescriptor fontDescriptorWithSymbolicTraits:existingTraitsWithNewTrait];
UIFont *updatedFont = [UIFont fontWithDescriptor:changedFontDescriptor size:0.0];
attributes = @{ NSFontAttributeName : updatedFont };
attributedString = [[NSAttributedString alloc] initWithString:yourString attributes:attributes];
关于html - 如何将粗体和斜体字体应用于 NSAttributedString?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26023027/
我是一名优秀的程序员,十分优秀!