iOS異步渲染輕量級(jí)框架

iOS中的異步渲染探究,以及基于異步渲染的高度自定富文本框架構(gòu)建

此前一直猶豫要不要寫(xiě)個(gè)自己的異步渲染庫(kù),最近趕上疫情,正好有時(shí)間,花了幾周,完善了一個(gè)富文本的異步渲染庫(kù),源碼地址 LRJAansyDraw,

功能如下

1,文本響應(yīng)區(qū)域自定義,高度預(yù)計(jì)算

2,方便加入圖片,并設(shè)置位置,方便加入標(biāo)簽

3,自定義斷行,異步渲染,永不卡頓

4 ,富文本的簡(jiǎn)易設(shè)置與自定義刪除線,分割線等等, 還有很多其他的功能方便用戶自行擴(kuò)展

5, 自定義的item重新生成一個(gè)新的圖片,非常方便,意味著,你上次繪制的內(nèi)容可以方便的生成圖片

6,如果有任何其他的需求,請(qǐng)聯(lián)系作者


LRJ_SampleCoreTextView *viewBase = [LRJ_SampleCoreTextView new];
 LRJ_MutableAttributedItem *itme1 = [[LRJ_MutableAttributedItem alloc] initWithText:@"異步繪制的基礎(chǔ)demo"]; [itme1 setFont:[UIFont systemFontOfSize:18]]; 
[itme1 setColor:[UIColor redColor]]; LRJ_MutableAttributedItem *itme2 = [[LRJ_MutableAttributedItem alloc] initWithText:@"點(diǎn)擊相應(yīng)區(qū)域"];
 [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;

此處放入一些簡(jiǎn)單的效果展示,并不代表只有這些功能,只是暫時(shí)滿足絕大多數(shù)場(chǎng)景的需求

image

結(jié)尾 :此庫(kù)力求好用,希望有此需要的同學(xué),能夠使用,并且我會(huì)積極去豐富更多的功能,也可以提給我更多的你所需要的功能

補(bǔ)充:另外提供了很多點(diǎn)擊區(qū)域響應(yīng),控制點(diǎn)擊樣式或者點(diǎn)擊相應(yīng)區(qū)域自定義

image

補(bǔ)充2:參考部分同學(xué)提出的需求,完成了虛線和波浪線的需求

IMG_3730.PNG.JPG

用法:

/**
 * 設(shè)置AttributedItem的刪除線波浪線
 *
 * @param color 波浪線風(fēng)格
 *
 */
- (void)setWaveLineThroughColor:(UIColor *)color;

[itme3 setWaveLineThroughColor:[UIColor redColor]];
最后編輯于
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 二、基礎(chǔ)組件和表格 概念 頁(yè)面設(shè)置: 頁(yè)面基礎(chǔ)設(shè)置,包括大小、顏色、縮放格式等。 組件設(shè)置: 單擊畫(huà)布中的某一個(gè)組...
    星矢2080閱讀 1,952評(píng)論 0 0
  • 堅(jiān)定目標(biāo),不要去在意成功 聽(tīng)過(guò)無(wú)數(shù)的成功者談人生,都會(huì)說(shuō)到目標(biāo)很重要,也看過(guò)很多的國(guó)外成長(zhǎng)類的調(diào)查,對(duì)于目標(biāo)總會(huì)分...
    洛則閱讀 118評(píng)論 0 2
  • 一、刻意練習(xí)的本質(zhì): 1、定義: 有目性的大量練習(xí)。書(shū)名就很直觀解釋了這本書(shū)要講解的東西:首先你得知道為什么要去練...
    beibei周閱讀 281評(píng)論 0 2
  • 書(shū)評(píng): 用文字虛構(gòu)的生活與真實(shí)生活因?yàn)榧?xì)節(jié)的充填而無(wú)限接近著。作者的批評(píng)更多立足于對(duì)文本的批評(píng),當(dāng)然由于作者本身的...
    juneyale閱讀 765評(píng)論 0 0
  • 供應(yīng)商的分類 供應(yīng)商,是向企業(yè)供應(yīng)各種所需資源的企業(yè)或個(gè)體,包括提供原材料、設(shè)備、能源或勞務(wù)等,他們是采購(gòu)幾乎每天...
    采購(gòu)之閑談閱讀 398評(píng)論 0 0

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