2013-08-14 30 views
7

カスタムUIButtonのタイトルに下線を追加しようとしていますが、その例に続いてhereが表示されます。ここでUIButton setAttributedTitle:forState:表示していません

は、私が使用しようとしていますコードです:

NSMutableAttributedString *commentString = [[NSMutableAttributedString alloc] initWithString:@"The Quick Brown Fox"]; 

[commentString addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:NSMakeRange(0, [commentString length])]; 

[button setAttributedTitle:commentString forState:UIControlStateNormal]; 

これは表示されません。しかし、私が普通のものをやっただけの場合は、次のようになります。

[button setTitle:@"The Quick Brown Fox" forState:UIControlStateNormal]; 

これは上手く表示されます。誰かが私に行方不明を教えてもらえますか?

+0

私の答えは間違っていたので削除しました。 iOSのどのバージョンをターゲットに設定していますか? – Firo

+0

@Firo iOS 6.0以降 – daveMac

答えて

10

私はここで問題を認識しました。私はそれが見えないので、それが現れていないと思った。しかし、それは表示されていた、それは背景と同じ色です。

私は誤っ[button setTitleColor:myColor forState:UIControlStateNormal];がattributedTitleも同様に使用する色であろうと仮定する。しかし、私の背景は黒で、NSMutableAttributedStringはデフォルトで黒にする必要があります。

[commentString addAttribute:NSForegroundColorAttributeName value:myColor range:NSMakeRange(0, [commentString length])]; 

正しく表示されます。

+0

FYI、上記の@ middaparkaの回答は私の答えには関係ありません。彼らの間違った答えがなぜ投票されなかったのかを知りたかった不満を抱いたユーザーには、それは返事であった。 – daveMac

関連する問題