IOS 中使用NSMutableAttributString 上添加删除线,开始使用
NSString *str = [NSString stringWithFormat:@"TAO GE"];
NSMutableAttributedString *mutableStr = [[NSMutableAttributedString alloc]initWithString:str];
[mutableStr addAttribute:NSStrikethroughStyleAttributeName value:@(NSUnderlineStyleSingle) range:NSMakeRange(4, 2)];
[_tipsLabel setAttributedText:mutableStr];
采用该写法,IOS 8, 9, 10 都OK。
但IOS10.3 没有效果。
后来查阅添加一行代码,设置下nsmutableattributeString 基线偏移属性为0 IOS10.3 能够正常显示。
NSString *str = [NSString stringWithFormat:@"TAO GE"];
NSMutableAttributedString *mutableStr = [[NSMutableAttributedString alloc]initWithString:str];
[mutableStr addAttribute:NSStrikethroughStyleAttributeName value:@(NSUnderlineStyleSingle) range:NSMakeRange(4, 2)];
[mutableStr addAttribute:NSBaselineOffsetAttributeName value:@(0) range:NSMakeRange(postiontOriginal, str.length - postiontOriginal)];
[_tipsLabel setAttributedText:mutableStr];