Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 47e9b8d

Browse files
author
mengyaoyao
committed
优化
1 parent 5fcb5db commit 47e9b8d

File tree

4 files changed

+131
-30
lines changed

4 files changed

+131
-30
lines changed

‎MYCoreText_Example/Controllers(各个场景使用说明)/LinksViewController.m

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,30 @@ - (MYCoreTextLabel *)coretextLabel
2929
_coretextLabel.webLinkFont = [UIFont systemFontOfSize:20]; //设置网址链接的字体大小
3030
_coretextLabel.webLinkColor = [UIColor greenColor]; //设置网址链接的颜色
3131

32+
//匹配 #话题#链接
33+
_coretextLabel.showTopicLink = YES;
34+
_coretextLabel.topicLinkColor = [UIColor redColor];
35+
_coretextLabel.topicLinkFont = [UIFont systemFontOfSize:20];
36+
_coretextLabel.topicLinkBackColor = [UIColor grayColor];
37+
38+
39+
//匹配 @ 链接
40+
_coretextLabel.showTrendLink = YES;
41+
//如果不设置任何相关信息 , 默认和普通文本大小一致 , 颜色默认蓝色
42+
43+
44+
//匹配手机号链接
45+
_coretextLabel.showPhoneLink = YES;
46+
_coretextLabel.phoneLinkFont = [UIFont systemFontOfSize:15.f];
47+
_coretextLabel.phoneLinkColor = [UIColor purpleColor];
48+
_coretextLabel.phoneLinkBackColor = [UIColor brownColor];
49+
50+
//匹配邮箱链接
51+
_coretextLabel.showMailLink = YES;
52+
//如果不设置任何相关信息 , 默认和普通文本大小一致 , 颜色默认蓝色
53+
3254
//设置自定义点击链接为 @"哥哥"
33-
[_coretextLabel setText:@"阿南。#测试#现在每次吃栗子我都会想起父亲,想起小时候每到深秋,父亲#测试#在地里干农活都会在家乡的山间摘好多野栗子回来给我吃,他不给哥哥吃,他自己也不吃。只给我一个人吃。看到你在书里写给阿明的信,好几次我都哽咽了。阿明尚ww.dsa.cn且对你如此,可你却还的如此的爱他www.baidu.com。可对于我的父亲,我深觉自己做的这www.google.cn些微不足道,甚至不值一提。去年他动手术,我和哥哥送他去医院,晚上,我和哥哥离开,只留他#测试#一人在医院。第二日,我去医院@小明 看到手术后的他躺在病床上憔悴不已。母亲守在一旁。心揪成一团。三个月前哥哥大婚,看他和母亲忙前忙后,看到他满脸的胡渣以及母亲双鬓若隐若现的白发。更是心痛不已。www.123.com" customLinks:@[@"哥哥"] keywords:nil];
55+
[_coretextLabel setText:@"阿南。#测试#现在每次吃栗子我都会想起父亲,想起小时候每到深秋,父亲#测试#在地里干农活都会在家乡的山间摘好多野栗子回来给我吃,他不给哥哥吃,他自己也不吃。只给我一个人吃。看到你在书里写给阿明的信,好几次我都哽咽了。阿明尚ww.dsa.cn且对你如此,可你却还的如此的爱他www.baidu.com。可对于我的父亲,我深觉自己做的这www.google.cn些微不足道,甚至不值一提。去年他动手术,我和哥哥送他去医院,晚上,我和哥哥离开,只留他#测试#一人在医院。第二日,我去医院@小明 看到手术后的他躺在病床上憔悴不已。母亲守在一旁。心揪成一团。三个月前哥哥大婚,看他和母亲忙前忙后,看到他满脸的胡渣以及母亲双鬓若隐若现的白发。更是心痛不已。www.123.com , 手机号链接13912345678 , 邮箱链接mengyao_block@outlook.com" customLinks:@[@"哥哥"] keywords:nil];
3456
}
3557
return _coretextLabel;
3658
}

‎MYCoreText_Example/Controllers(各个场景使用说明)/showCell.m

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,13 +70,11 @@ - (MYCoreTextLabel *)coretextLabel
7070
_coretextLabel.customLinkColor = [UIColor greenColor]; //设置自定义链接字体颜色
7171
_coretextLabel.customLinkBackColor = [UIColor orangeColor]; //设置自定义链接点击背景色
7272

73-
7473
//设置关键字的属性
7574
_coretextLabel.keywordFont = [UIFont systemFontOfSize:15];
7675
_coretextLabel.keyWordColor = [UIColor blueColor]; //设置关键字颜色
7776
_coretextLabel.keyWordBackColor = [UIColor yellowColor]; //设置关键字高亮背景色
7877

79-
8078
_coretextLabel.delegate = self; //设置代理 , 用于监听点击事件 以及接收点击内容等
8179
}
8280
return _coretextLabel;

‎MYCoreText_Example/MYCoreTextLabel/MYCoretextResultTool.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,7 @@ + (MYSubCoretextResult *)lastNorTextResult:(MYSubCoretextResult *)lastEmotionRes
268268
{
269269
NSMutableArray *weblinks = [NSMutableArray array];
270270
//正则匹配超链接
271-
NSString *linkRegex = @"(http(s)?://)?([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&#=]*)?";
271+
NSString *linkRegex = @"((http[s]{0,1}|ftp)://[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)|(www.[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)";
272272
NSRegularExpression *linkExpression = [NSRegularExpression regularExpressionWithPattern:linkRegex options:NSRegularExpressionCaseInsensitive error:nil];
273273
//遍历结果
274274
[linkExpression enumerateMatchesInString:rangeString options:NSMatchingReportCompletion range:NSMakeRange(0, rangeString.length) usingBlock:^(NSTextCheckingResult * _Nullable result, NSMatchingFlags flags, BOOL * _Nonnull stop) {

‎README.md

Lines changed: 107 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,20 @@
1010
## 1. 静态图文文字混排 </p>
1111

1212
```
13+
_coretextLabel = [[MYCoreTextLabel alloc]init];
14+
_coretextLabel.delegate = self;
15+
1316
_coreTextLabel.imageSize = CGSizeMake(25, 25); // 设置图片尺寸 , 默认和字体一样
17+
18+
//设置普通文本属性
1419
_coreTextLabel.textFont = [UIFont systemFontOfSize:16.f]; //设置普通文本大小 , 默认14.f
1520
_coreTextLabel.textColor = [UIColor brownColor]; //设置普通文本字体颜色 , 默认黑色
1621
_coreTextLabel.lineSpacing = 5; //设置行间距
1722
_coreTextLabel.wordSpacing = 2; //设置字间距
1823
19-
//如果不需要任何的自定义链接和关键字, 赋值nil即可
20-
[_coreTextLabel setText:@"满街脚步突然静了[调皮],满天柏树[白眼]突然没有动摇,这一刹[擦汗]我只需要一罐热茶吧,那味道似是[滑稽]什么都不紧要,唱片店内[擦汗]传来异国民谣,那种快乐[白眼]突然被我需要,不亲切[调皮]至少不似想你般[龇牙]奥妙,情和调随著怀缅变得萧条,原来过得很快乐[擦汗],[白眼]只我一人未发觉,如能忘掉渴望,[花心]岁月长衣裳薄,无论于什么角落[噘嘴],不假设你或会在旁,我也可畅游异国放心吃喝[调皮][调皮][调皮]" customLinks:nil keywords:nil];
24+
25+
//如果不需要任何的自定义链接和关键字, 赋值nil即可
26+
[_coreTextLabel setText:@"满街脚步突然静[调皮]了,满天柏树突然没有[白眼]动摇,这一刹[擦汗]我只需要一罐热茶吧,那味道似是[滑稽]什么都不紧要,唱片店内[擦汗]传来异国民谣,那种快乐[白眼]突然被我需要,不亲切[调皮]至少不似想你般[龇牙]奥妙,情和调随著怀缅变得萧条,原来过得很快乐[擦汗],[白眼]只我一人未发觉,如能忘掉渴望,[花心]岁月长衣裳薄,无论于什么角落[噘嘴],不假设你或会在旁,我也可畅游异国放心吃喝[调皮][调皮][调皮]" customLinks:nil keywords:nil];
2127
2228
CGSize size = [coreTextLabel sizeThatFits:CGSizeMake([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];
2329
self.coreTextLabel.frame = CGRectMake(0, 100, size.width, size.height);
@@ -35,20 +41,50 @@
3541
</p>
3642

3743

38-
## <b>2. 文字中的链接 , @ , #话题# , 网址 , 或者自定义需要链接的文字
44+
## <b>2. 所有的链接 , @链接 , #话题#链接 , 手机号链接 , 网址链接 , 邮箱链接
3945
```
40-
MYCoreTextLabel *coretextLabel = [[MYCoreTextLabel alloc]init];
46+
_coretextLabel = [[MYCoreTextLabel alloc]init];
47+
_coretextLabel.delegate = self;
48+
49+
//是否匹配网址链接 , 以及相关设置
50+
_coretextLabel.showWebLink = YES;
51+
_coretextLabel.webLinkBackColor = [UIColor redColor]; //设置网址链接点击背景色
52+
_coretextLabel.webLinkFont = [UIFont systemFontOfSize:20]; //设置网址链接的字体大小
53+
_coretextLabel.webLinkColor = [UIColor greenColor]; //设置网址链接的颜色
54+
55+
//匹配 #话题#链接
56+
_coretextLabel.showTopicLink = YES;
57+
_coretextLabel.topicLinkColor = [UIColor redColor];
58+
_coretextLabel.topicLinkFont = [UIFont systemFontOfSize:20];
59+
_coretextLabel.topicLinkBackColor = [UIColor grayColor];
60+
61+
62+
//匹配 @ 链接
63+
64+
_coretextLabel = [[MYCoreTextLabel alloc]init];
4165
_coretextLabel.delegate = self;
42-
_coretextLabel.norLinkBackColor = [UIColor redColor]; //设置常规链接点击背景色 @ #话题# www.baidu.com
43-
_coretextLabel.norLinkFont = [UIFont systemFontOfSize:20]; //设置常规链接的字体大小
44-
_coretextLabel.norLinkColor = [UIColor greenColor]; //设置常规链接的颜色
45-
_coretextLabel.hiddenNormalLink = NO; // 是否显示常规链接特性 ,默认为NO,默认显示常规链接. 如果为YES , 上述的赋值没有任何意义 , 默认为NO
46-
[_coretextLabel setText:@"阿南。#测试#现在每次吃栗子我都会想起父亲,想起小时候每到深秋,父亲#测试#在地里干农活都会在家乡的山间摘好多野栗子回来给我吃,他不给哥哥吃,他自己也不吃。只给我一个人吃。看到你在书里写给阿明的信,好几次我都哽咽了。阿明尚ww.dsa.cn且对你如此,可你却还的如此的爱他www.baidu.com。可对于我的父亲,我深觉自己做的这www.google.cn些微不足道,甚至不值一提。去年他动手术,我和哥哥送他去医院,晚上,我和哥哥离开,只留他#测试#一人在医院。第二日,我去医院@小明 看到手术后的他躺在病床上憔悴不已。母亲守在一旁。心揪成一团。三个月前哥哥大婚,看他和母亲忙前忙后,看到他满脸的胡渣以及母亲双鬓若隐若现的白发。更是心痛不已。www.123.com" customLinks:@[@"哥哥"] keywords:nil];
47-
48-
//设置frame
49-
CGSize size = [coretextLabel sizeThatFits:CGSizeMake(200, 600)];
50-
self.coretextLabel.frame = CGRectMake(100, 100, size.width, size.height);
51-
[self.view addSubview:coretextLabel];
66+
67+
_coretextLabel.showTrendLink = YES;
68+
//如果不设置任何相关信息 , 默认和普通文本大小一致 , 颜色默认蓝色
69+
70+
71+
//匹配手机号链接
72+
_coretextLabel.showPhoneLink = YES;
73+
_coretextLabel.phoneLinkFont = [UIFont systemFontOfSize:15.f];
74+
_coretextLabel.phoneLinkColor = [UIColor purpleColor];
75+
_coretextLabel.phoneLinkBackColor = [UIColor brownColor];
76+
77+
//匹配邮箱链接
78+
_coretextLabel.showMailLink = YES;
79+
//如果不设置任何相关信息 , 默认和普通文本大小一致 , 颜色默认蓝色
80+
81+
//设置自定义点击链接为 @"哥哥"
82+
[_coretextLabel setText:@"阿南。#测试#现在每次吃栗子我都会想起父亲,想起小时候每到深秋,父亲#测试#在地里干农活都会在家乡的山间摘好多野栗子回来给我吃,他不给哥哥吃,他自己也不吃。只给我一个人吃。看到你在书里写给阿明的信,好几次我都哽咽了。阿明尚ww.dsa.cn且对你如此,可你却还的如此的爱他www.baidu.com。可对于我的父亲,我深觉自己做的这www.google.cn些微不足道,甚至不值一提。去年他动手术,我和哥哥送他去医院,晚上,我和哥哥离开,只留他#测试#一人在医院。第二日,我去医院@小明 看到手术后的他躺在病床上憔悴不已。母亲守在一旁。心揪成一团。三个月前哥哥大婚,看他和母亲忙前忙后,看到他满脸的胡渣以及母亲双鬓若隐若现的白发。更是心痛不已。www.123.com , 手机号链接13912345678 , 邮箱链接mengyao_block@outlook.com" customLinks:@[@"哥哥"] keywords:nil];
83+
84+
//设置frame
85+
CGSize size = [coretextLabel sizeThatFits:CGSizeMake(200, 600)];
86+
self.coretextLabel.frame = CGRectMake(100, 100, size.width, size.height);
87+
[self.view addSubview:coretextLabel];
5288
```
5389
![image](https://github.com/coderMyy/MYCoreTextLabel/blob/master/examplePic/linksGIF.gif)
5490
</p>
@@ -61,14 +97,20 @@
6197

6298
## 3. 文字中的关键字显示
6399
```
64-
MYCoreText *coretextLabel = [[MYCoreTextLabel alloc]init];
100+
_coretextLabel = [[MYCoreTextLabel alloc]init];
101+
102+
//设置普通文本属性
65103
_coretextLabel.textFont = [UIFont systemFontOfSize:14.f]; //设置文本大小
66104
_coretextLabel.textColor = [UIColor brownColor]; // 设置文本颜色
67105
_coretextLabel.lineSpacing = 2; //设置行间距
68106
_coretextLabel.wordSpacing = 1.5; //设置字间距
107+
108+
109+
//设置关键字属性
110+
_coretextLabel.keywordFont = [UIFont systemFontOfSize:20];
69111
_coretextLabel.keyWordColor = [UIColor redColor]; //设置关键字颜色
70-
_coretextLabel.keyWordBackColor = [UIColor yellowColor]; //设置关键字背景高亮色 , 如果不需要可自行调整为透明 或者和背景色一样 , 默认是黄色的
71-
_coretextLabel.hiddenNormalLink = YES; // hiddenNormalLink为YES ,不显示所有的常规链接特性, 所以常规链接也都是直接以普通文本方式展示 , 并不可点击
112+
_coretextLabel.keyWordBackColor = [UIColor blueColor]; //设置关键字背景高亮色 , 如果不需要可自行调整为透明 或者和背景色一样 , 默认是黄色的
113+
72114
[_coretextLabel setText:@"山脚至山腰是茂盛青翠的马尾松、楠木、云杉、枫树等树林,绵延几十公里,瞬间把游客带进世外桃源。山腰朝上,杂生着三百多种杜鹃树,杜鹃树不高,一米两米不等,马樱花类居多。听导游介绍,"大理三月好风光"时节,三百多种杜鹃花盛开,将苍山装扮成花的海洋。www.google.cn 红色、白色、紫色交相辉映,恍惚人间天堂。海拔四千米以上,由于气候寒冷,草木无法生长,终年积雪,皑皑如白云飘落山顶.苍山巍峨,十九座尖峰高耸入云,山顶白雪皑皑,晶莹剔透,犹如海明威小说中的乞力马扎罗雪峰,"苍山雪"由此而来。雪峰下是草甸,@顺坡势绵延着一望无际的绿草,莽莽苍苍,微风过处,送来阵阵远古苍茫。草丛中,洁白的大雪素展示肤色,蓝色龙胆不停地眨眼,绯红绿绒蒿卖弄衣裳,金色的柴胡在招摇,红色紫云英微笑不停......更有许多不知道名字的杂草一个劲地绿,阳光下开心地开满了花朵,朵朵都在人们眼前盼望,www.baidu.com美丽可爱野花是雪峰的祝福,#是山坡的语言#,#是苍山的心事#,是小草和花朵为沧桑写下的抒情诗歌。成双成对的彩斑蝶于花海中翩翩起舞,嗡嗡的蜜蜂在花瓣间打闹。草甸以下青一色郁郁葱葱的林海,四季青翠的马尾松,笔直修长的杉木,高大俊秀的枫树,@枝繁叶茂的楠木,摇弋多姿的板栗......逍遥的松鼠在树枝间练功,喜鹊逗留树顶啁啾,子规在杜鹃枝缝里跳跃,金丝鸟在草丛嬉戏,@好不热闹!树下,蚂蚁在腐烂落叶堆中穿行......林间仙雾缭绕,清香沁肺。十九峰高耸入云,巍峨雄壮,山峰下沟壑纵横;十八溪流水潺潺,涧泉汩汩,飞瀑挂于岩石悬崖。姊妹山——鸡足山顶庙塔玲珑剔透,金碧辉煌;北面玉龙雪山莽莽苍苍,冰清玉洁。玉局峰下百余米处有个方圆十来亩的圆形水潭,名叫洗马潭,是玉局峰、龙泉峰雪水积淀而成,潭水清澈,滟滟如梦" customLinks:@[@"十九"] keywords:@[@"苍山",@"大理",@"导游"]];
73115
//customLinks : 添加自定义链接字 , 如不需要 , 传nil , 可以添加自定义链接的一些属性
74116
//keywords : 关键字 ,如不需要,传nil即可
@@ -89,20 +131,59 @@
89131

90132
## 4. 比较复杂的图文混排 (具体请参照DetailViewController中的使用)
91133
```
92-
MYCoreText *coretextLabel = [[MYCoreTextLabel alloc]init];
134+
_coretextLabel = [[MYCoreTextLabel alloc]init];
135+
136+
//设置普通文本的属性
93137
_coretextLabel.textFont = [UIFont systemFontOfSize:15.f]; //设置普通内容文字大小
94138
_coretextLabel.textColor = [UIColor brownColor]; // 设置普通内容文字颜色
95-
_coretextLabel.norLinkFont = [UIFont systemFontOfSize:18.f]; //设置常规链接字体大小 @ #话题# www.baidu.com 网址类型
96-
_coretextLabel.norLinkColor = [UIColor blueColor]; //设置常规链接字体颜色
97-
_coretextLabel.norLinkBackColor = [UIColor redColor]; //设置常规链接点击背景色
139+
_coretextLabel.lineSpacing = 5; //设置行间距
140+
_coretextLabel.wordSpacing = 0.5; //设置字间距
141+
142+
143+
//设置网址链接的属性
144+
_coretextLabel.showWebLink = YES;
145+
_coretextLabel.webLinkFont = [UIFont systemFontOfSize:18.f]; //设置网址链接字体大小
146+
_coretextLabel.webLinkColor = [UIColor blueColor]; //设置网址链接字体颜色
147+
_coretextLabel.webLinkBackColor = [UIColor redColor]; //设置网址链接点击背景色
148+
149+
150+
151+
//设置 #话题#的属性
152+
_coretextLabel.showTopicLink = YES;
153+
_coretextLabel.topicLinkFont = [UIFont systemFontOfSize:15.f];
154+
_coretextLabel.topicLinkColor = [UIColor redColor];
155+
_coretextLabel.topicLinkBackColor = [UIColor blackColor];
156+
157+
158+
//设置 @ 的属性
159+
_coretextLabel.showTrendLink = YES;
160+
_coretextLabel.trendLinkFont = [UIFont systemFontOfSize:18];
161+
_coretextLabel.trendLinkColor = [UIColor purpleColor];
162+
_coretextLabel.trendLinkBackColor = [UIColor darkGrayColor];
163+
164+
165+
//设置邮箱的属性
166+
_coretextLabel.showMailLink = YES;
167+
_coretextLabel.mailLinkFont = [UIFont systemFontOfSize:18.f];
168+
_coretextLabel.mailLinkColor = [UIColor redColor];
169+
_coretextLabel.mailLinkBackColor = [UIColor greenColor];
170+
171+
//设置手机号的属性
172+
_coretextLabel.showPhoneLink = YES;
173+
_coretextLabel.phoneLinkFont = [UIFont systemFontOfSize:15.f];
174+
_coretextLabel.phoneLinkColor = [UIColor redColor];
175+
_coretextLabel.phoneLinkBackColor = [UIColor blueColor];
176+
177+
//设置自定义链接的属性
98178
_coretextLabel.customLinkFont = [UIFont systemFontOfSize:18.f]; //设置自定义链接字 字体大小
99179
_coretextLabel.customLinkColor = [UIColor greenColor]; //设置自定义链接字体颜色
100180
_coretextLabel.customLinkBackColor = [UIColor orangeColor]; //设置自定义链接点击背景色
101-
_coretextLabel.keyWordColor = [UIColor redColor]; //设置关键字颜色
102-
_coretextLabel.keyWordBackColor = [UIColor blueColor]; //设置关键字高亮背景色
103-
_coretextLabel.hiddenNormalLink = NO; // 不显示常规链接 , 默认为NO 即默认显示常规链接 , 如果不需要显示 , 赋值为YES即可
104-
_coretextLabel.lineSpacing = 5; //设置行间距
105-
_coretextLabel.wordSpacing = 0.5; //设置字间距
181+
182+
//设置关键字的属性
183+
_coretextLabel.keywordFont = [UIFont systemFontOfSize:15];
184+
_coretextLabel.keyWordColor = [UIColor blueColor]; //设置关键字颜色
185+
_coretextLabel.keyWordBackColor = [UIColor yellowColor]; //设置关键字高亮背景色
186+
106187
_coretextLabel.delegate = self; //设置代理 , 用于监听点击事件 以及接收点击内容等
107188
108189
//设置frame

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /