iOS部分文字高亮并可以点击

引入第三方框架TYAttributedLabel https://github.com/12207480/TYAttributedLabel

文字控件的布局

    TYAttributedLabel *textLbl=[[TYAttributedLabel alloc]init];
    textLbl.textColor=[UIColor blackColor];
    textLbl.delegate=self;
    textLbl.font=MinLabelFont;
    textLbl.numberOfLines=0;
    textLbl.text=@"阅读并接受";

    
    [self addSubview:textLbl];
    [textLbl mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(weakSelf.selectBtn.mas_top);
        make.left.equalTo(weakSelf.selectBtn.mas_right).with.mas_offset(5);
        make.right.equalTo(weakSelf.mas_right).with.mas_offset(-10);
        make.height.equalTo(@(40));
    }];
    
    [textLbl appendLinkWithText:@"《服务协议》" linkFont:MinLabelFont linkColor:[UIColor colorWithhexString:@"#ffb211"] underLineStyle:kCTUnderlineStyleNone linkData:@"http://baidu.com"];
    
    [textLbl appendText:@"、"];
    
    [textLbl appendLinkWithText:@"《须知》" linkFont:MinLabelFont linkColor:[UIColor colorWithhexString:@"#ffb211"] underLineStyle:kCTUnderlineStyleNone linkData:@"http://baidu.com"];
        [textLbl appendText:@"、"];
        [textLbl appendLinkWithText:@"《服务者管理规则》" linkFont:MinLabelFont linkColor:[UIColor colorWithhexString:@"#ffb211"] underLineStyle:kCTUnderlineStyleNone linkData:@"http://baidu.com"];

点击对应的文字会调用相关的代理的方法

#pragma mark - Delegate
//TYAttributedLabelDelegate
- (void)attributedLabel:(TYAttributedLabel *)attributedLabel textStorageClicked:(id<TYTextStorageProtocol>)TextRun atPoint:(CGPoint)point {
    if ([TextRun isKindOfClass:[TYLinkTextStorage class]]) {
        NSString *linkStr = ((TYLinkTextStorage*)TextRun).linkData;
        NSLog(@"linkStr === %@",linkStr);
        
        KnowWebViewController *knowVc=[[KnowWebViewController alloc]init];
        knowVc.url=linkStr;
        [self.viewController.navigationController pushViewController:knowVc animated:YES];
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,486评论 25 708
  • 因为在外读书,不知道有多少年没吃到家里包的粽子,仿佛是因为毕业,觉得离家的距离又远了,这个端午节,我尤其想念家里的...
    淇畔芷影阅读 295评论 2 5
  • 刚才学校停电,于是我把冰川时代2看完了。 这部电影讲述的是随着全球变暖,冰川融化,所有动物开启了大逃亡!笑点很多,...
    微光222阅读 1,078评论 1 1
  • 一、作用 数组分块数组分块是一种使用定时器分割循环的技术,为要处理的项目创建一个队列,然后使用定时器取出下一个要处...
    sdcV阅读 3,281评论 0 0
  • 数据:国际知名市场分析机构IHS认为,2016年,将有700多万部VR设备投入使用;分析机构ABI Rese...
    千分之一的未来阅读 250评论 0 0