XXLinkLabel
可以点击的富文本label
觉得好用记得在github上给点个星星
https://github.com/PittWong/XXLinkLabel
使用说明
两种内容填充方式
1.直接传入字符串,仅提供正则表达式的点击事件
2.通过model传入,除正则表达式点击事件外,可提供图片的点击 同时可灵活设置图片大小和点击反馈字符串
点击事件正则选择
typedef NS_OPTIONS(NSUInteger, XXLinkLabelRegularType) {
XXLinkLabelRegularTypeNone = 0,
XXLinkLabelRegularTypeAboat = 1 << 0,//@类型
XXLinkLabelRegularTypeTopic = 1 << 1,//##类型 话题
XXLinkLabelRegularTypeUrl = 1 << 2,//url类型
};
label.regularType = XXLinkLabelRegularTypeAboat | XXLinkLabelRegularTypeTopic | XXLinkLabelRegularTypeUrl;
可根据需要自由设置链接文字颜色
@property (nonatomic ,strong) UIColor *linkTextColor;
@property (nonatomic ,strong) UIColor *selectedBackgroudColor;
自定义添加需要正则的点击事件
[label addRegularString:@"美.*?女"];
点击事件响应 提供block和代理两种方式,习惯用哪个用哪个
代理:
- (void)labelImageClickLinkInfo:(XXLinkLabelModel *)linkInfo {
NSLog(@"----点击了图片----\n%@\n----对应反馈文字----\n%@",linkInfo.message,linkInfo.imageClickBackStr);
}
- (void)labelLinkClickLinkInfo:(XXLinkLabelModel *)linkInfo linkUrl:(NSString *)linkUrl {
NSLog(@"----点击了链接,链接地址为----\n%@",linkUrl);
}
- (void)labelLinkLongPressLinkInfo:(XXLinkLabelModel *)linkInfo linkUrl:(NSString *)linkUrl {
NSLog(@"----长按了(点击)-----\n%@",linkUrl);
}
- (void)labelRegexLinkClickWithclickedString:(NSString *)clickedString {
NSLog(@"----点击了文字----\n%@",clickedString);
}
block:
label.imageClickBlock = ^(XXLinkLabelModel *linkInfo) {
NSLog(@"----点击了图片----\n%@\n----对应反馈文字----\n%@",linkInfo.message,linkInfo.imageClickBackStr);
};
label.linkClickBlock = ^(XXLinkLabelModel *linkInfo, NSString *linkUrl) {
NSLog(@"----block点击了链接,链接地址为----\n%@",linkUrl);
};
label.linkLongPressBlock = ^(XXLinkLabelModel *linkInfo, NSString *linkUrl) {
NSLog(@"----block长按了(点击)-----\n%@",linkUrl);
};
label.regularLinkClickBlock = ^(NSString *clickedString) {
NSLog(@"----block点击了文字----\n%@",clickedString);
};