如何设置TTStyledTextLabel的链接字体

时间:2012-05-06 16:22:49

标签: three20 uifont ttstyledtextlabel

所以,我对Three20来说相当新,但到目前为止,这些好处已经超过了我的屁股所带来的痛苦,因为它可以让事情发挥作用。

我正在使用一些TTStyledTextLabels,我需要使用特定的字体作为链接。我已经覆盖了TTDefaultStyleSheet并添加了一个新的样式,如下所示:

- (TTStyle*)futuraStyle {
    return [TTTextStyle styleWithFont:[UIFont fontWithName:@"Futura-CondensedMedium" size:20] color:kColorTextLink next:nil];
}

我可以使用标签将此样式应用于普通文本,但它似乎不会影响链接。

我发现如果我将样式类直接添加到链接中,就像在

中一样
<a href="url" class="styleName">link!</a>

然后链接会以正确的字体显示。但是,它们已经不再适合了! WTF?

1 个答案:

答案 0 :(得分:0)

知道了!

使用双短划线在链接中设置名称,并且将使用UIConstrolState参数调用链接样式,并且所有这些都可以正常工作:

- (TTStyle*)futuraStyle:(UIControlState)state{
 if(state==UIControlStateNormal){
    return [TTTextStyle styleWithFont:[UIFont fontWithName:@"Futura-CondensedMedium" size:20] color:kColorTextLink next:nil];
 }else{
    return [TTTextStyle styleWithFont:[UIFont fontWithName:@"Futura-CondensedMedium" size:20] color:kColorTextLinkHiglighted next:nil];
 }
}

并在您的文字中:

<a href="url" class="futuraStyle:">link!</a>