Настройка атрибутов для ссылок в NIAttributedLabel
Я сделал следующее, чтобы иметь разные цвета для ссылок в моем NIAttributedLabel:
NSMutableDictionary *attributes = [NSMutableDictionary dictionary];
[attributes setValue:[UIColor colorWithRed:86.0/255.0 green:134.0/255.0 blue:172.0/255.0 alpha:1.0] forKey:NSForegroundColorAttributeName];
[attributes setValue:[UIColor colorWithRed:0.0 green:136/255.f blue:204/255.f alpha:1.0] forKey:NSForegroundColorAttributeName];
[self.commentsText_ setAttributesForLinks:attributes];
но я не вижу двух разных цветов в ссылках, я просто вижу один. Что я здесь не так делаю? В основном у меня есть ссылка, которую я добавил через addLink следующим образом:
[self.commentsText_ addLink:[NSURL URLWithString:url] range:usernameRange];
и я хочу, чтобы это было RedColor. Как мне это сделать?
2 ответа
Если вы хотите использовать разные цвета для разных ссылок, вам нужно создать отдельные словари атрибутов и вызвать setAttributesForLinks: с разными словарями.
NSMutableDictionary *attributes1 = [NSMutableDictionary dictionary];
[attributes setValue:[UIColor colorWithRed:86.0/255.0 green:134.0/255.0 blue:172.0/255.0 alpha:1.0] forKey:NSForegroundColorAttributeName];
[self.commentsText1_ setAttributesForLinks:attributes1];
NSMutableDictionary *attributes2 = [NSMutableDictionary dictionary];
[attributes setValue:[UIColor colorWithRed:0.0 green:136/255.f blue:204/255.f alpha:1.0] forKey:NSForegroundColorAttributeName];
[self.commentsText2_ setAttributesForLinks:attributes2];
Если вы хотите установить разные цвета для разных ссылок, вам следует отключить автоматические стили ссылок, установив для linkColor значение nil, а затем явно применить разные стили к вашим ссылкам.