2

我已完成以下操作以使 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];

我希望它有红色。我该怎么做?

4

2 回答 2

1

如果你想为不同的链接使用不同的颜色,那么你需要创建单独的属性字典,并使用不同的字典调用 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];
于 2012-09-30T15:55:31.107 回答
1

如果您想为不同的链接设置不同的颜色,那么您应该通过将 linkColor 设置为 nil 来禁用自动链接样式,然后将不同的样式显式应用于您的链接。

于 2012-10-02T08:38:41.967 回答