2022-07-04

作者: 23bd05ea194f | 来源:发表于2022-07-04 18:33 被阅读0次

iOS中的异步渲染探究,以及基于异步渲染的高度自定富文本框架构建

此前一直犹豫要不要写个自己的异步渲染库,最近赶上疫情,正好有时间,花了几周,完善了一个富文本的异步渲染库,源码地址 LRJAansyDraw,

功能如下

1,文本响应区域自定义,高度预计算

2,方便加入图片,并设置位置,方便加入标签

3,自定义断行,异步渲染,永不卡顿

4 ,富文本的简易设置与自定义删除线,分割线等等, 还有很多其他的功能方便用户自行扩展

5, 自定义的item重新生成一个新的图片,非常方便,意味着,你上次绘制的内容可以方便的生成图片

6,如果有任何其他的需求,请联系作者


LRJ_SampleCoreTextView *viewBase = [LRJ_SampleCoreTextView new];
 LRJ_MutableAttributedItem *itme1 = [[LRJ_MutableAttributedItem alloc] initWithText:@"异步绘制的基础demo"]; [itme1 setFont:[UIFont systemFontOfSize:18]]; 
[itme1 setColor:[UIColor redColor]]; LRJ_MutableAttributedItem *itme2 = [[LRJ_MutableAttributedItem alloc] initWithText:@"点击相应区域"];
 [itme2 addTarget:self action:@selector(pushAction:) forControlEvents:UIControlEventTouchUpInside]; [itme2 setFont:[UIFont systemFontOfSize:18]]; 
[itme2 setColor:[UIColor orangeColor]]; [itme1 appendAttributedItem:itme2]; [itme1 appendWhiteSpaceWithWidth:20]; viewBase.backgroundColor = [UIColor blackColor]; __weak typeof(viewBase) weakViewBase = viewBase;
 viewBase.trancatedBlock = ^{ weakViewBase.numerOfLines = 0;
 CGSize size = [itme1.resultString wmg_sizeConstrainedToWidth:[UIScreen mainScreen].bounds.size.width - 20 numberOfLines:0]; 
weakViewBase.frame = CGRectMake(10, 10, size.width, size.height); [weakViewBase redraw]; }; viewBase.frame = CGRectMake(10, 10, size.width, size.height + 5); 
[self.view addSubview:viewBase];
 self.myView = viewBase;

此处放入一些简单的效果展示,并不代表只有这些功能,只是暂时满足绝大多数场景的需求

image

结尾 :此库力求好用,希望有此需要的同学,能够使用,并且我会积极去丰富更多的功能,也可以提给我更多的你所需要的功能

补充:另外提供了很多点击区域响应,控制点击样式或者点击相应区域自定义

image

补充2:参考部分同学提出的需求,完成了虚线和波浪线的需求

IMG_3730.PNG.JPG

用法:

/**
 * 设置AttributedItem的删除线波浪线
 *
 * @param color 波浪线风格
 *
 */
- (void)setWaveLineThroughColor:(UIColor *)color;

[itme3 setWaveLineThroughColor:[UIColor redColor]];

相关文章

  • 2022-07-05

    7.3日自发清除零评论总结 明楼 0.376 · 字数 154 · 阅读 62 2022-07-04 13:59 ...

  • 读书收获

    杨素芳 中原焦点团队 高五 坚持分享1618天 2022-07-04 1、步入中年了,心里要准备本来有的...

  • 2022-07-04

    Nature Cancer | 三阴乳腺癌新靶点,临床试验在即 原创图灵基因图灵基因2022-07-04 10:3...

  • 2022-07-04

    Nat Rev | 纳米组学:纳米技术血液循环肿瘤的多维捕获 原创榴莲不酥图灵基因2022-07-04 10:30...

  • 0245读书|经典中的经典《了凡四训》

    2022-07-04 北京 阴天小雨了凡四训,是袁了凡老先生在69岁写给儿子的家训(家书)。 “从前种种,譬如昨日...

  • 自制家庭食谱

    幸福日志2022-07-04 周一阴雨 无论手机多么快捷方便,还是喜欢白纸黑字手写,笔记本是真正的笔记本。手机里收...

  • 让你思维自律的9个建议

    2022-07-04 看到人民日报发了这篇《让你思维自律的9个建议》,与大家共勉。 大家普遍认为自律就是行为上的自...

  • 清君侧

    2022-07-04 又是一个循环,昨天忙活了一天招待朋友,带着孩子跟他们相聚,在家里吃饭辅导孩子完成功课,虽然很...

  • 35捉鱼

    2022-07-04 星期一 晴 无锡疫情持续肆虐,居家办公,实际上也是事情不多,于是乎,我就做点练习,今天也只是...

  • 老生常谈此事最难,浮盈如何才能落袋

    2022-07-04 周一 天气晴 热 下午有阵雨 去了一趟农行 娣助市里32T 悉同学夫.松于7月2日离世(明天...

网友评论

    本文标题:2022-07-04

    本文链接:https://www.haomeiwen.com/subject/jyzdbrtx.html