2013-08-14 1 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