UILabel 省略文字(三点リーダ)のテキストカラーが変更されないことがある

“Deployment Target” が iOS 6.x のアプリを、iOS 7.x で動作させた場合に、掲題の問題が発生した。

iOS 6.x は問題がなく、iOS 7.x で問題が発生する。

三点リーダのテキストカラーが変更されない

三点リーダのテキストカラーが変更されない

問題が発生したコードは、textColor プロパティーで文字色を変更していた。

1
_label1.textColor = color;

対処方法

attributedText プロパティーを使用することで問題が解消された。

1
2
3
4
NSAttributedString *attributedString;
attributedString = [[NSAttributedString alloc] initWithString:@"UILabel テキストの三点リーダの色がおかしくなる"
                                                 attributes:@{ NSForegroundColorAttributeName : color }];
_label1.attributedText = attributedString;

参考: UILabel dotted line color bug in iOS 7.1

コメントを残す

メールアドレスが公開されることはありません。