采用 NSAttributedString 实现的删除线,若包含中文(全角字符),在 iOS 10.3 中必须添加 NSBaselineOffsetAttributeName 这一属性才能生效;然而即使添加这一属性依然不尽完美(删除线没有对齐)。小规模使用的情况下,不妨用 ¥ 取代 以规避这个问题。

1
2
NSAttributedString *text = [[NSAttributedString alloc] initWithString:@"¥ 888" attributes:@{NSStrikethroughStyleAttributeName: @1, NSBaselineOffsetAttributeName: @0}];
[_priceLabel setAttributedText:text];