富文本点击事件-TTTAttributedLabel和YYtext的不同用法

在很多 TimeLine 的排版页面,都会用到富文本,多样式的文字展示,以及为某些特殊文字,比如@,# ,以及网址添加点击事件。这里就以为 @ 和 # 添加不同样式和点击事件 和 替换网址为某个特定图片,以及添加点击事件的功能,介绍一下主流应用的两个第三方库,TTTAttributedLabel 和 YYText 的一些用法。

TTTAttributedLabel
TTTAttributedLabel 继承于 UILabel,所以具有 UILabel 所有的属性和方法。通过CoreText绘制富文本。

1、初始化:

由于是继承与UILabel,因此和 UILabel 的初始化相同。

TTTAttributedLabel *label = [TTTAttributedLabel alloc] init];

2、赋值:
TTTAttributedLabel 是比较老的库,当时 UILabel 还并没有 attributedText 属性。通过 setText 进行赋值,在 block 里制定富文本规则。

NSString *message = @"@小明 #旅行计划# 网址是:http://blog.csdn.net/u013749108 完毕"
[label setText:message afterInheritingLabelAttributesAndConfiguringWithBlock:^NSMutableAttributedString *(NSMutableAttributedString *mutableAttributedString) {
    //label 整体  风格
    [mutableAttributedString addAttributes:[self textStyle] range:NSMakeRange(0, message.length)];

    //找出  # @ 
    NSArray *matches = [PXStatusUtil checkAllLinksWithOutUrlText:message];

    //遍历符合规则的结果
    for ( NSTextCheckingResult *match in matches ) {
        NSRange wordRange = [match range];
        //为符合结果的文字添加富文本属性字典 
        [mutableAttributedString addAttributes:[self linkStyle] range:wordRange];
    }

    //找出 url 添加文字样式
    NSArray *matches_with_url = [PXStatusUtil checkURLLinksWithText:data.message];
    for (NSUInteger i = matches_with_url.count; i > 0; 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值