XXLinkLabel
可以點擊的富文本label
覺得好用記得在github上給點個星星
https://github.com/PittWong/XXLinkLabel
使用說明
超鏈接?富文本.png
兩種內容填充方式
1.直接傳入字符串,僅提供正則表達式的點擊事件
text_type.gif
2.通過model傳入,除正則表達式點擊事件外,可提供圖片的點擊 同時可靈活設置圖片大小和點擊反饋字符串
model_type.gif
點擊事件正則選擇
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);
};