molon / MLLabel

UILabel replacement with TextKit. Support link and expression.
MIT License
723 stars 115 forks source link

我在xib里面拖了一个UIlabel,然后修改类别为MLLinkLabel,对他添加了link属性,但是运行以后点击没有调用代理方法,后来我试了一下setDidClickLinkBlock,也没有调用,可能是什么原因呢?这是我的代码 #52

Closed CoderXLLau closed 8 years ago

CoderXLLau commented 8 years ago
NSString *text = [NSString stringWithFormat:@"回复@%@:%@",commentModel.reply_nickname,commentModel.content];
    NSMutableAttributedString *attString = [[NSMutableAttributedString alloc] initWithString:text];
    UIColor *highLightColor = [UIColor blueColor];
    [attString setAttributes:@{
                               NSForegroundColorAttributeName : highLightColor,NSLinkAttributeName :@(commentModel.reply_uid)
                               } range:[text rangeOfString:commentModel.reply_nickname]];
    self.contentLabel.attributedText = attString; // contentLabel就是MLLinkLabel
    [self.contentLabel setDidClickLinkBlock:^(MLLink *link, NSString *linkText, MLLinkLabel *label) {

        NSString *tips = [NSString stringWithFormat:@"Click\nlinkType:%ld\nlinkText:%@\nlinkValue:%@",link.linkType,linkText,link.linkValue];

    }];
molon commented 8 years ago

@Shannoon 抱歉,我没有写明白。是这样的,MLLinkLabel识别NSLinkAttributeName的话有个前提条件是其对应的value只能是NSString/NSAttributedString/NSURL三者之一。 我一会会加个断言。 感谢反馈~

CoderXLLau commented 8 years ago

好的明白了,我的link数据是NSValue,已经解决了,谢谢啊