UITextView 显示特殊字符会导致错误的行高和字号

用相同的代码显示不同的字符顺序的NSMutableAttributedString,会导致行高和字号的BUG。

▲●■▲●■▲●■*asdf
●▲■▲●■▲●■*asdf
■●■▲●■▲●■*asdf

图片描述

最后两行是仅第一个字符和仅○设置Attributes,可以看出会影响后面没有设置的字符

code

    NSMutableAttributedString *symbol = [[NSMutableAttributedString alloc] initWithString:@"●▲■▲●■▲●■*asdf"];

UIFont *symbolFont = [UIFont systemFontOfSize:24.0];

UIColor *stripesPurple = [UIColor colorWithRed:0.83 green:0.64 blue:0.83 alpha:1];

[symbol addAttributes:@{NSForegroundColorAttributeName:[UIColor purpleColor],

NSFontAttributeName:symbolFont,

NSStrokeWidthAttributeName:@-4,

NSStrokeColorAttributeName:[UIColor purpleColor]}

range:NSMakeRange(0, 3)];

[symbol addAttributes:@{NSForegroundColorAttributeName:stripesPurple,

NSFontAttributeName:symbolFont,

NSStrokeWidthAttributeName:@-4,

NSStrokeColorAttributeName:[UIColor purpleColor]}

range:NSMakeRange(3, 3)];

[symbol addAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor],

NSFontAttributeName:symbolFont,

NSStrokeWidthAttributeName:@-4,

NSStrokeColorAttributeName:[UIColor purpleColor]}

range:NSMakeRange(6, 3)];

//[self.myTextView setAttributedText:symbol];

[self.attrLabel setAttributedText:symbol];

以上是 UITextView 显示特殊字符会导致错误的行高和字号 的全部内容, 来源链接: utcz.com/p/184864.html

回到顶部