1

TTTAttributedLabel次のコードを使用してラベルに下線を引こうとしています:

[self.opponentUsername setText:self.opponentUsername.text afterInheritingLabelAttributesAndConfiguringWithBlock:^NSMutableAttributedString *(NSMutableAttributedString *mutableAttributedString) {
    [mutableAttributedString addAttribute:(NSString *)kCTUnderlineStyleAttributeName value:[NSNumber numberWithInt:1] range:(NSRange){0, [mutableAttributedString length]}];
    return mutableAttributedString;
}];

Interface Builder で Autoshrink が無効になっていると、問題なく動作します。ただし、Autoshrink を有効にするとすぐに、ラベルは IB で適用した白色を失い、下線が完全に消えます。

ここで何か間違ったことをしていますか?ティア

参考までに、カスタムライブラリ以外を使用するソリューションを提供する回答もTTTAttributedLabel問題ありません。

4

1 に答える 1

1

あなたは大丈夫です。

TTTAttributedLabel には問題があり、フォント サイズを縮小すると、適用された他の属性が削除されます。

サイズを調整しながら他の属性を保持するための修正があります。

これが私の修正です:

https://github.com/mattt/TTTAttributedLabel/pull/187

于 2013-03-08T21:16:28.573 に答える