处理 CoreText 链接、@xxxx 和 Emoji 图像字符串
1. 创建一个 MinRichTextParser 实例。支持正则表达式
MinRichTextParser *parser = [MinRichTextParser shareInstance];
parser.linkRegular = @"((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\\.\\-~!@#$%^&*+?:_/=<>]*)?)";
parser.atRegular = @"@[-_a-zA-Z0-9\u4E00-\u9FA5]+";
parser.emojiRegular = @"\\[[^ \\[\\]]+?\\]";
支持 emoji 图像名称和键的字典
parser.emojiDict = emojiDcit;
2. 解析内容字符串
NSMutableAttributedString *as = [parser parseContent:text];
3. 创建一个 MinRichTextView 实例来显示 attributedString
_richTextView.attributedString = as;
4. 调整框架大小
CGRect frame = _richTextView.frame;
frame.size = [MinRichTextView adjustSizeWithAttributedString:as maxWidth:_richTextView.frame.size.width];
_richTextView.frame = frame;
MinRichTextDelegate 是一个点击动作回调的协议
- (void)clickedLinkString:(NSString *)linkString;
- (void)clickedAtSring:(NSString *)atString;
在 MinRichTextConfig 中,您可以设置字体、文字颜色、链接颜色、点击背景颜色等