是否可以使用TTTAttributedLabel上的UIAppearance设置链接属性?

时间:2015-11-17 00:56:12

标签: ios objective-c uilabel tttattributedlabel

我想创建一个TTTAttributedLabel包装器,以便为linkAttributesactiveLinkAttributes属性以及其他内容(即自定义链接)提供UIAppearance支持

作为界面

@interface MYLabel : TTTAttributedLabel

@property (strong, readwrite, nonatomic) NSString *richText;

@property (strong, nonatomic) NSDictionary *dataTextAttributes UI_APPEARANCE_SELECTOR; //Default: text color blue
@property (strong, nonatomic) NSDictionary *selectedDataTextAttributes UI_APPEARANCE_SELECTOR; //Default: text color red

@end

作为实施

@implementation MYLabel

// .. some code

- (void)setDataTextAttributes:(NSDictionary *)dataTextAttributes {
    _dataTextAttributes = dataTextAttributes;
    self.linkAttributes = dataTextAttributes;
    [self setNeedsLayout];
}

- (void)setSelectedDataTextAttributes:(NSDictionary *)selectedDataTextAttributes {
    _selectedDataTextAttributes = selectedDataTextAttributes;
    self.activeLinkAttributes = selectedDataTextAttributes;
    [self setNeedsLayout];
}

// .. some code

@end

问题是在我使用以下方法手动添加一些链接后,代理调用了setter:

[label addLinkToURL:[NSURL URLWithString:@"action://defaultAction"] withRange:result.range]

除非我重复使用标签i,e:在表格视图单元格上,否则链接没有得到正确的stlye。

知道为什么这不起作用?

顺便说一句:如果我手动设置属性,它就会起作用。

0 个答案:

没有答案