iOS 好用的可以點(diǎn)擊的富文本label ,可以點(diǎn)擊的label

XXLinkLabel

可以點(diǎn)擊的富文本label

覺得好用記得在github上給點(diǎn)個(gè)星星

https://github.com/PittWong/XXLinkLabel

使用說(shuō)明

超鏈接?富文本.png

兩種內(nèi)容填充方式

1.直接傳入字符串,僅提供正則表達(dá)式的點(diǎn)擊事件

text_type.gif

2.通過model傳入,除正則表達(dá)式點(diǎn)擊事件外,可提供圖片的點(diǎn)擊 同時(shí)可靈活設(shè)置圖片大小和點(diǎn)擊反饋?zhàn)址?/p>

model_type.gif

點(diǎn)擊事件正則選擇

typedef NS_OPTIONS(NSUInteger, XXLinkLabelRegularType) {
    XXLinkLabelRegularTypeNone      = 0,
    XXLinkLabelRegularTypeAboat     = 1 << 0,//@類型
    XXLinkLabelRegularTypeTopic     = 1 << 1,//##類型  話題
    XXLinkLabelRegularTypeUrl       = 1 << 2,//url類型
};
label.regularType = XXLinkLabelRegularTypeAboat | XXLinkLabelRegularTypeTopic | XXLinkLabelRegularTypeUrl;

可根據(jù)需要自由設(shè)置鏈接文字顏色

@property (nonatomic ,strong) UIColor *linkTextColor;
@property (nonatomic ,strong) UIColor *selectedBackgroudColor;

自定義添加需要正則的點(diǎn)擊事件

[label addRegularString:@"美.*?女"];

點(diǎn)擊事件響應(yīng) 提供block和代理兩種方式,習(xí)慣用哪個(gè)用哪個(gè)

代理:

- (void)labelImageClickLinkInfo:(XXLinkLabelModel *)linkInfo {
    NSLog(@"----點(diǎn)擊了圖片----\n%@\n----對(duì)應(yīng)反饋文字----\n%@",linkInfo.message,linkInfo.imageClickBackStr);
}
- (void)labelLinkClickLinkInfo:(XXLinkLabelModel *)linkInfo linkUrl:(NSString *)linkUrl {
    NSLog(@"----點(diǎn)擊了鏈接,鏈接地址為----\n%@",linkUrl);
}
- (void)labelLinkLongPressLinkInfo:(XXLinkLabelModel *)linkInfo linkUrl:(NSString *)linkUrl {
    NSLog(@"----長(zhǎng)按了(點(diǎn)擊)-----\n%@",linkUrl);
}
- (void)labelRegexLinkClickWithclickedString:(NSString *)clickedString {
    NSLog(@"----點(diǎn)擊了文字----\n%@",clickedString);
}

block:

        label.imageClickBlock = ^(XXLinkLabelModel *linkInfo) {
            NSLog(@"----點(diǎn)擊了圖片----\n%@\n----對(duì)應(yīng)反饋文字----\n%@",linkInfo.message,linkInfo.imageClickBackStr);
        };
        label.linkClickBlock = ^(XXLinkLabelModel *linkInfo, NSString *linkUrl) {
            NSLog(@"----block點(diǎn)擊了鏈接,鏈接地址為----\n%@",linkUrl);
        };
        label.linkLongPressBlock = ^(XXLinkLabelModel *linkInfo, NSString *linkUrl) {
            NSLog(@"----block長(zhǎng)按了(點(diǎn)擊)-----\n%@",linkUrl);
        };
        label.regularLinkClickBlock = ^(NSString *clickedString) {
            NSLog(@"----block點(diǎn)擊了文字----\n%@",clickedString);
        };
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容