字符串添加部分删除线兼容性问题

下划线.jpg

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];

你可能感兴趣的:(字符串添加部分删除线兼容性问题)