这里使用的是第三方YYText中的YYLabel配合属性字符串来实现的,这样过程会简单一些,废话不多说直接上代码
NSString *text = @"我已阅读并同意《个人信息使用授权书》《快捷支付服务三方协议》";
NSString *text1 = @"《个人信息使用授权书》";
NSString *text2 = @"《快捷支付服务三方协议》";
NSMutableAttributedString *attText = [[NSMutableAttributedString alloc] initWithString:text];
[attText yy_setTextHighlightRange:[agreeText rangeOfString:infoAttText] color:UIColor.redColor backgroundColor:UIColor.clearColor tapAction:^(UIView * _Nonnull containerView, NSAttributedString * _Nonnull text, NSRange range, CGRect rect) {
NSLog(@"点击了授权书")
}];
[attText yy_setTextHighlightRange:[agreeText rangeOfString:agreeAttText] color:UIColor.redColor backgroundColor:UIColor.clearColor tapAction:^(UIView * _Nonnull containerView, NSAttributedString * _Nonnull text, NSRange range, CGRect rect) {
NSLog(@"点击了服务协议")
}];
YYLabel *label = [[YYLabel alloc] initWithFrame:CGRectMake(0, 0, 300, 30)];
label.numberOfLines = 0;
[self.view addSubview: label];
label.attributedText = attText;
效果: