iOS 10.3 UILabelで設定されているダッシュの無効化の問題
1297 ワード
iOS10.3更新後、ショッピングモールアプリのようなUI:原価「¥500」のLabel設定のような中線が突然失効した.これはアップルシステムのバグかもしれません.根本的な原因:UIlabelの文字には「中国語」が含まれている限り、リッチテキスト文字列の中線が無効になり、以下の2つの方法で解決できます.1つ目の方法は、人民元記号「¥」と「¥」で、前の1つを使えばいいです.
第2の方法:リッチテキストに「中国語」をサポートさせる
リッチテキスト属性を追加:NSBaselineOffsetAttributeName:@(NSUnderlineStyleSingle)
簡単な記録の下:原文の住所:http://blog.csdn.net/ymh1989qwe/article/details/70954275?utm_source=itdadao&utm_medium=referral
NSString *market = [NSString stringWithFormat:@"¥%@",@"500"];
NSMutableAttributedString *attributeMarket = [[NSMutableAttributedString alloc] initWithString:market];
[attributeMarket setAttributes:@{NSStrikethroughStyleAttributeName: [NSNumber numberWithInteger:NSUnderlineStyleSingle]} range:NSMakeRange(0,market.length)];
_marketLabel.attributedText = attributeMarket;
第2の方法:リッチテキストに「中国語」をサポートさせる
リッチテキスト属性を追加:NSBaselineOffsetAttributeName:@(NSUnderlineStyleSingle)
NSString *market = [NSString stringWithFormat:@"¥%@",@"500"];
NSMutableAttributedString *attributeMarket = [[NSMutableAttributedString alloc] initWithString:market];
[attributeMarket setAttributes:@{NSStrikethroughStyleAttributeName: [NSNumber numberWithInteger:NSUnderlineStyleSingle], NSBaselineOffsetAttributeName : @(NSUnderlineStyleSingle)} range:NSMakeRange(0,market.length)];
_marketLabel.attributedText = attributeMarket;
簡単な記録の下:原文の住所:http://blog.csdn.net/ymh1989qwe/article/details/70954275?utm_source=itdadao&utm_medium=referral