博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS-LinkLabel
阅读量:6954 次
发布时间:2019-06-27

本文共 1977 字,大约阅读时间需要 6 分钟。

hot3.png

其实初学iOS开发就遇到这样的问题, 但是当初不知道该怎么搞, 使用label+button拼到一块的[笑哭]! 现在想想那时候真是SB....

然后现在项目中可能要用到了, 专门看了一下, 今天主要找到了两个第三方, MLLabelTTTAttributedLabel, 其中TTTAttributedLabel在github上被star六千多次, 但是两个都体验一下, 我觉得但从实现linkLabel上来说, 还是MLLabel更加好用, 简单的几个属性和方法, 而TTTAttributedLabel可能功能更加强大? 总的来说, 用起来更复杂, 相对来说我还是更喜欢用小众的MLLabel.

一段代码:

- (MLLinkLabel *)linkLabel {        if (!_linkLabel) {        _linkLabel = [[MLLinkLabel alloc] initWithFrame:CGRectMake(10, 10, 300, 200)];        _linkLabel.backgroundColor = [UIColor whiteColor];        _linkLabel.numberOfLines = 0;        _linkLabel.allowLineBreakInsideLinks = YES;    }    return _linkLabel;}- (void)configMLLabel {        //测试给一个含有链接的attrStr    NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc]initWithString:@"人生若只如初见,http://google.com何事秋风悲画扇。dudl@qq.com等闲变却故人心,却道故人心易变。骊山语罢清宵半,13612341234泪雨零铃终不怨。何如薄幸锦衣郎,比翼连枝当日愿。"];//    [attrStr addAttribute:NSLinkAttributeName value:@"http://google.com" range:NSMakeRange(0, 2)];//    [attrStr addAttribute:NSLinkAttributeName value:@"dudl@qq.com" range:NSMakeRange(3, 2)];//    [attrStr addAttribute:NSLinkAttributeName value:@"13612341234" range:NSMakeRange(10, 10)];        NSRange range = [attrStr.string rangeOfString:@"等闲变却故人心"];    [attrStr addAttribute:NSLinkAttributeName value:@"abcdhenf" range:range];        [self.view addSubview:self.linkLabel];        self.linkLabel.attributedText = attrStr;    [_linkLabel setDidClickLinkBlock:^(MLLink *link, NSString *linkText, MLLinkLabel *label) {        NSLog(@"%ld  %@  %@", link.linkType, linkText, link.linkValue);    }];        //在设置了text后针对修改link样式的例子   //这段代码用断言可以更好的实现    for (MLLink *link in self.linkLabel.links) {        if ([link.linkValue isEqualToString:@"13612341234"]) {            link.linkTextAttributes = @{NSForegroundColorAttributeName:[UIColor colorWithRed:1.000 green:0.607 blue:0.172 alpha:1.000]};        }    }    [self.linkLabel invalidateDisplayForLinks];}

转载于:https://my.oschina.net/whforever/blog/703616

你可能感兴趣的文章
维珍媒体确定收购Arqiva WiFi 将进一步扩大公共WiFi覆盖面积
查看>>
白帽子也能迎娶白富美:2017八大高薪信息安全认证
查看>>
大数据市场交易趋旺物联网平台争夺加剧
查看>>
CIO:互联网IT系统和传统企业IT系统的异同
查看>>
Go 语言的垃圾回收算法被吹过头?与Java比如何?
查看>>
《Cisco安全防火墙服务模块(FWSM)解决方案》——2.6 硬件架构
查看>>
逼死强迫症?聊聊应用推送角标的那些事儿
查看>>
FileZilla Client 3.26.1 发布,FTP 解决方案
查看>>
《Web前端工程师修炼之道(原书第4版)》——互联网与Web
查看>>
《应用时间序列分析:R软件陪同》——2.11 习题
查看>>
C++工厂方法模式
查看>>
举例说明jquery插件的编写方法
查看>>
英特尔逆天原型机:在 Android 上跑 Debian
查看>>
区块链+”来了,区块链金融将如何颠覆传统金融
查看>>
Perl 语言流行度处于历史最低点
查看>>
Apache Qpid Proton 0.16.0,轻量通信库
查看>>
《Adobe Premiere Pro CC经典教程(彩色版)》——第2课 设置项目 2.1 开始
查看>>
将 iOS 软件移植到 Windows 10 的桥梁将很快打通
查看>>
《高度安全环境下的高级渗透测试》—第1章1.5节安装OpenOffice
查看>>
中国互联网今日正式满 20 岁
查看>>