Как установить шрифт ссылки для 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 ответ
Решение
Понял!
задайте имя в ссылке с двойной чертой, после чего стиль ссылки будет вызываться с параметром 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>