我使用UILabel
的{{1}}加载HTML字符串,例如:
attributedText
我使用<p style="text-align: center;">sometext</p>
更改此HTML所有元素的NSParagraphStyle
。
line-height
有效。但它会将NSMutableParagraphStyle *paragraphStyle = [NSMutableParagraphStyle new];
paragraphStyle.minimumLineHeight = 20; // line-height: 20;
[attributedString addAttribute:NSParagraphStyleAttributeName
value:paragraphStyle
range:NSMakeRange(0, attributedString.length)];
重置为左侧。
答案 0 :(得分:0)
属性的工作方式类似于词典:定义范围内的键/值。 密钥是唯一的,因此您可以覆盖该值而不复制其先前的样式。
要执行您想要的操作,您需要枚举查找NSParagraphStyleAttributeName
的属性字符串,并在必要时进行修改。
[attributedString enumerateAttribute:NSParagraphStyleAttributeName inRange:NSMakeRange(0, [attributedString length]) options:0 usingBlock:^(id _Nullable value, NSRange range, BOOL * _Nonnull stop) {
if ([value isKindOfClass:[NSParagraphStyle class]]) {
NSMutableParagraphStyle *style = [value mutableCopy];
style.minimumLineHeight = 20;
[attributedString addAttribute:NSParagraphStyleAttributeName value:style range:range];
}
}];