textView表情代码相关
2016-03-11 17:13
344 查看
@objc private func setEmotion(noti : NSNotification) { let emotion = noti.userInfo!["emotion"] as! XBEmotion if let png = emotion.png { //保存之前的内容 let beforeAttributeString = NSMutableAttributedString(attributedString: MytextView.attributedText) // 设置一个附件 let attachment = XBTextAttachment() attachment.emotion = emotion //设置附件图片 let imagePath = "\(emotion.path!)/\(png)" attachment.image = UIImage(named: imagePath) //用附件来初始化一个字符穿 attrabute let attribute = NSAttributedString(attachment: attachment) //attachment.bounds = CGRectMake(0, 0, MytextView.font!.lineHeight, MytextView.font!.lineHeight) 设表情大小的方式 也可以 //beforeAttributeString.appendAttributedString(attribute) //根据光标来设置插入的位置c let range = MytextView.selectedRange beforeAttributeString.insertAttributedString(attribute, atIndex: range.location) //设置表情的大小,添加属性 //beforeAttributeString.addAttributes([NSFontAttributeName : MytextView.font!], range: NSMakeRange(0, beforeAttributeString.length)) MytextView.attributedText = beforeAttributeString //设置光标的位置,放到的位置+1 MytextView.selectedRange = NSMakeRange(range.location+1, 0) } else if let emoji = emotion.emoji { let boforeAttrbuteString = NSMutableAttributedString(attributedString: MytextView.attributedText) let nowString = NSAttributedString(string: emoji) let range = MytextView.selectedRange boforeAttrbuteString.insertAttributedString(nowString, atIndex: range.location) MytextView.attributedText = boforeAttrbuteString //赋值之后设置 MytextView.selectedRange = NSMakeRange(range.location + 2,0 ) } textViewDidChange(MytextView) }
相关文章推荐
- 2016年c#冒泡排序
- 利用php CI force_download($filename, $data) 下载.csv 文件解决文件名乱码,文件内容乱码
- matlab实现zbar_scan_y
- 动态内存
- python3字符串属性(二)
- java的(PO,VO,TO,BO,DAO,POJO)解释
- spring+quartz实现定时任务
- 2.6.1认识Python模块
- python import错误 SyntaxError: invalid syntax
- 颜色的类别 可以直接写 #333333 一句代码就能实现
- JAVA排序算法---归并排序
- JAVA排序算法---归并排序
- JAVA排序算法---归并排序
- JAVA排序算法---归并排序
- JAVA排序算法---归并排序
- JAVA排序算法---归并排序
- JAVA排序算法---归并排序
- JAVA排序算法---归并排序
- Github使用学习笔记(一)
- QT 从尾部截取字符串(从路径中截取文件名)