iOS 10.3 Label的中劃線失效
阿新 • • 發佈:2019-01-07
開發過程中,商品價格的原價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;