我正在尝试将自己的HTML字符串解析为NSAttributedString以便在UITextView中呈现。
因此,当字符串显示为:
<strong><em>
这应该是粗体和斜体</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];
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句