1. 程式人生 > >iOS 10.3 Label的中劃線失效

iOS 10.3 Label的中劃線失效

開發過程中,商品價格的原價Label需要設定中劃線,意外發現iOS 10.3的中劃線失效了,其他系統的都正常。這應該是蘋果系統本身的一個bug。

解決方法一:使用英文版的”¥”,可直接複製使用

NSString *originalPrice = [NSString stringWithFormat:@"¥%@", @"100.00"];
NSMutableAttributedString *attributeStr = [[NSMutableAttributedString alloc] initWithString:originalPrice];
[attributeStr setAttributes:@{NSStrikethroughStyleAttributeName:[NSNumber
numberWithInteger:NSUnderlineStyleSingle]} range:NSMakeRange(0, originalPrice.length)]; _originalPriceLabel.attributedText = attributeStr;


解決方法二:讓富文字支援“中文”

NSString *originalPrice = [NSString stringWithFormat:@"¥%@", @"100.00"];
NSMutableAttributedString *attributeStr = [[NSMutableAttributedString alloc] initWithString:originalPrice];
[attributeStr setAttributes:@{NSStrikethroughStyleAttributeName:[NSNumber
numberWithInteger:NSUnderlineStyleSingle], NSBaselineOffsetAttributeName:@(NSUnderlineStyleSingle)} range:NSMakeRange(0,market.length)]; _originalPriceLabel.attributedText = attributeStr;