当使用 iOS自带富文本 实现中划线的时候 在iOS10.3上划线失效
原因是因为Label 上的文字只要包含有中文,就会失效
可以通过以下方式解决
第一种方式:如果只有金钱符号和数字 “¥”和“¥”使用前一个就可以了
第二种 如果含有其他中文 则需要给富文本增加一个属性
`NSBaselineOffsetAttributeName : @(NSUnderlineStyleSingle)`
代码如下 完美解决
```
NSString*price =@"¥99.9",
NSMutableAttributedString*attrStr = [[NSMutableAttributedStringalloc] initWithString:price];
[attrStr setAttributes:@{NSStrikethroughColorAttributeName:[UIColorcolorWithHexString:@"#9D9D9E"]}range:NSMakeRange(0,price.length)];
//删除线
[attrStr setAttributes:@{NSStrikethroughStyleAttributeName: [NSNumbernumberWithInteger:NSUnderlineStyleNone]}range:NSMakeRange(0,price.length)];//这一句是解决iOS 8删除线失效
[attrStr setAttributes:@{NSStrikethroughStyleAttributeName: [NSNumbernumberWithInteger:NSUnderlineStyleSingle],NSBaselineOffsetAttributeName: @(NSUnderlineStyleSingle)}range:NSMakeRange(0,price.length)];//NSBaselineOffsetAttributeName 解决iOS10.3删除线失效
```
网友评论