当前位置: 首页 > news >正文

越秀电子商务网站建设深圳网站建公司

越秀电子商务网站建设,深圳网站建公司,河东网站建设,自己做网站需要的技术苹果在iOS7中推出了一个新的类NSTextAttachment#xff0c;它是做图文混排的利器#xff0c;本文就是用这个类#xff0c;只用50行代码实现文字与表情混排#xff0c;当然也可以实现段落中的图文混排。 首先说一下文字和表情的混排#xff1a; 先来做点儿准备工作#… 苹果在iOS7中推出了一个新的类NSTextAttachment它是做图文混排的利器本文就是用这个类只用50行代码实现文字与表情混排当然也可以实现段落中的图文混排。  首先说一下文字和表情的混排  先来做点儿准备工作搞一个存放表情信息的plist文件  NSString *filePath [[NSBundle mainBundle] pathForResource:Image ofType:plist];NSArray *face [NSArray arrayWithContentsOfFile:filePath];NSMutableAttributedString *attributeString [[NSMutableAttributedString alloc] initWithString:text];NSString *regex_emoji \\[[a-zA-Z0-9\\/\\u4e00-\\u9fa5]\\];//匹配表情NSError *error nil;NSRegularExpression *re [NSRegularExpression regularExpressionWithPattern:regex_emoji options:NSRegularExpressionCaseInsensitive error:error];if(!re) {NSLog(%, [error localizedDescription]);return attributeString;}NSArray *resultArray [re matchesInString:text options:0 range:NSMakeRange(0, text.length)];NSMutableArray *imageArray [NSMutableArray arrayWithCapacity:resultArray.count];//根据匹配范围来用图片进行相应的替换for(NSTextCheckingResult *match in resultArray) {//获取数组元素中得到rangeNSRange range [match range];//获取原字符串中对应的值NSString *subStr [text substringWithRange:range];for(int i 0; i face.count; i ) {if([face[i][cht] isEqualToString:subStr]) {//face[i][png]就是我们要加载的图片//新建文字附件来存放我们的图片,iOS7才新加的对象NSTextAttachment *textAttachment [[NSTextAttachment alloc]init];//给附件添加图片textAttachment.image [UIImage imageNamed:face[i][png]];//调整一下图片的位置,如果你的图片偏上或者偏下调整一下bounds的y值即可textAttachment.boundsCGRectMake(0, -8, textAttachment.image.size.width, textAttachment.image.size.height);//把附件转换成可变字符串用于替换掉源字符串中的表情文字NSAttributedString *imageStr [NSAttributedString attributedStringWithAttachment:textAttachment];//把图片和图片对应的位置存入字典中NSMutableDictionary *imageDic [NSMutableDictionary dictionaryWithCapacity:2];[imageDic setObject:imageStr forKey:image];[imageDic setObject:[NSValue valueWithRange:range]forKey:range];//把字典存入数组中[imageArray addObject:imageDic];}}}//4、从后往前替换否则会引起位置问题for(int i (int)imageArray.count-1; i 0; i--) {NSRange range;[imageArray[i][range] getValue:range];//进行替换[attributeString replaceCharactersInRange:range withAttributedString:imageArray[i][image]];}12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485861234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 以上代码段是写了一个工具类以实现图文混排也可以为NSString写一个分类来实现。下面说一下用法 NSString *content 文字加上表情[得意][酷][呲牙];NSMutableAttributedString *attrStr [Utility emotionStrWithString:content];_contentLabel.attributedText attrStr; 123456123456 有了上面的方法要实现图片和文字的排布就更容易了只需要将某些图片给它设置一个固定的字符对应即可。  具体方法如下  NSString *praiseStr ”路人甲、路人乙”; NSString *praiseInfo [NSString stringWithFormat:”点赞 %”,praiseStr]; NSDictionary *attributesForAll {NSFontAttributeName:[UIFont systemFontOfSize:14.0],NSForegroundColorAttributeName:[UIColorgrayColor]}; NSMutableAttributedString*attrStr [Utility exchangeString:”点赞”withText:praiseInfoimageName:”dynamic_love_blue”]; 有什么不足或者bug欢迎及时沟通
http://www.pierceye.com/news/522705/

相关文章:

  • 聚美优品的网站建设状况wordpress 微商城
  • 网络营销型网站律师做推广的网站
  • 网站建设公司排行济南网页制作设计营销
  • 网站功能建设与栏目划分wordpress 系统需求
  • 做网络推广要做网站吗wordpress中对视频排序
  • 三合一网站怎么建立如何做网站规范
  • 浙江网站改版设计公司网站建设实训目的
  • 建设网站装配式建筑楼房东莞网站建设php方案
  • 宜昌网站制作公司排名眉山招聘网站建设
  • 网站开发项目经理工资公司网站建设管理
  • 大良o2o网站建设百度手机卫士下载安装
  • 张家界市网站建设设计简单的php购物网站源码
  • 网站的流量检测怎么做禹州做网站的公司
  • 百度网站录入北京到安阳高铁
  • 去马来西亚做网站网站安卓网站开发平台
  • jsp 哪些网站利用技术搭建网站做网站代理
  • 网站建设 分类广告html做网站自适应宽度
  • 鄂州市建设局网站佰牛网站建设
  • 织梦网站上传及安装步骤农畜产品销售平台的网站建设
  • 网站续费如何做分录做交互设计的网站
  • 国家网站备案查询系统安丘网站建设多少钱
  • 长沙公司网站设计鹤壁建设网站推广公司电话
  • 电子商务网站建设与管理实务电子商务网站的构建
  • 做网站的集团用什么自己做网站
  • 买网站空间网站模块图片
  • 上海建设网站公在微信上怎么开店
  • 哪家网站雅虎全球购做的好做一婚恋网站多少钱
  • 苏州企业网站公司都有哪些php开源企业网站系统
  • wordpress收录很慢自己的网站如何优化
  • 个人介绍网站源码1v1网站建设