TTTAttributedLabel第三方使用(一段连续的字符串不同范围用不同字体和颜色)

本文介绍如何在iOS应用中利用TTTAttributedLabel实现带有链接的富文本显示,并提供了详细的代码示例及点击链接后的处理方法。

事例代码

TTTAttributedLabel *detailLabel = [[TTTAttributedLabel alloc] initWithFrame:CGRectMake(_mycheckBox.right+8, 13, 200, 20)];
        NSString *detail = @"确认《协议书》及《风险揭示书》";
        NSMutableAttributedString *detailStr = [[NSMutableAttributedString alloc] initWithString:detail];
        [detailStr addAttribute:(NSString *)NSForegroundColorAttributeName value:CS_Color_DeepGray range:NSMakeRange(0, 2)];
        [detailStr addAttribute:(NSString *)NSForegroundColorAttributeName value:UIColorFromRGB(0x1A9BFC) range:NSMakeRange(2, 5)];
        [detailStr addAttribute:(NSString *)NSForegroundColorAttributeName value:CS_Color_DeepGray range:NSMakeRange(7, 1)];
        [detailStr addAttribute:(NSString *)NSForegroundColorAttributeName value:UIColorFromRGB(0x1A9BFC) range:NSMakeRange(8, 7)];
        [detailStr addAttribute:(NSString *)kCTFontAttributeName value:[UIFont fontWithName:@"STHeitiSC-Light" size:13.0f] range:NSMakeRange(0, detail.length)];
        [detailLabel setAttributedText:detailStr];
        [detailLabel setDelegate:self];
        detailLabel.numberOfLines = 0;
        detailLabel.lineBreakMode = NSLineBreakByCharWrapping;
        detailLabel.linkAttributes = @{
                                        (NSString *)kCTUnderlineStyleAttributeName : @NO,
                                        (NSString *) NSForegroundColorAttributeName : CS_Color_StandGreen2
                                        };
        NSURL *linkOne = [NSURL URLWithString:@"protocol"];//添加链接
        NSURL *linkTow = [NSURL URLWithString:@"risk"];
        
        [detailLabel addLinkToURL:linkOne withRange:NSMakeRange(2, 5)];
        [detailLabel addLinkToURL:linkTow withRange:NSMakeRange(8, 7)];
        
 //链接的实现:
 #pragma mark -
#pragma mark TTTAttributedLabel Delegate
- (void)attributedLabel:(TTTAttributedLabel *)label didSelectLinkWithURL:(NSURL *)url
{
    if ([url.absoluteString isEqualToString:@"protocol"])
    {
        [self queryProductProtocol];
    }
    else
    {
        [self queryProductRisk];
    }
}


添加链接并调用的协议:

- (void)attributedLabel:(TTTAttributedLabel *)label

   didSelectLinkWithURL:(NSURL *)url;




转载于:https://my.oschina.net/u/2534563/blog/663988

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值