gpt4 book ai didi

ios - 当 NSAttributedString 属性的范围嵌套/重叠时,它们会堆叠吗?

转载 作者:行者123 更新时间:2023-11-29 10:48:45 24 4
gpt4 key购买 nike

我正在将简单的 HTML 解析为属性字符串(适用于 iOS 6),但我似乎无法使嵌套属性起作用。例如:

This <font color="red">is <i>what</i> I mean</font> to achieve.

我正确地应用了属性,但斜体永远不会生效,除非它是在字体颜色不影响的范围内完成的。我的谷歌搜索没有提出任何相关问题,我想知道 NSAttributedString 是否完全支持这个,或者属性范围是否必须不重叠。

编辑:

我已将问题改写得更清楚。该问题的答案是否定的,您必须在单个属性字典中指定给定范围的所有属性,它们不会组合。我已接受对原始问题的合理回答是正确的。

最佳答案

您可以使用 NSMutableAttributedString 实现您想要的结果。您只需要分别设置每个属性。例如

NSString *string = @"This is a test";
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:string attributes:nil];

NSMutableDictionary *attributes = [@{NSForegroundColorAttributeName: [UIColor redColor]} mutableCopy];

[string setAttributes:attributes range:[string rangeOfString:@"is a test"];

[attributes setObject:font forKey:NSFontAttributeName];

[string setAttributes:attributes range:[string rangeOfString:@"test"];

关于ios - 当 NSAttributedString 属性的范围嵌套/重叠时,它们会堆叠吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21342785/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com