zoukankan      html  css  js  c++  java
  • iOS表情键盘实现

    表情键盘实现

    @(iOS)[Swift, iOS]

    • 直接自定义文本输入框的inputView属性,直接改成自己想要的UIView即可。
    • 表情保存在本地,从沙盒中读取

    emoji表情显示

    • emoji对应十六进制,如果要显示的话,需要转换一下
        // emoji对应十六进制
        func emojiToShow(code: String) -> String {
            // 创建扫描器
            let scanner = NSScanner(string: code)
            // 将十六进制数据转换成字符串
            var result: UInt32 = 0
            scanner.scanHexInt(&result)
            // 字符串转换成emoji字符串
            let emojiStr = Character(UnicodeScalar(result))
            return String(emojiStr)
        }
    

    图片显示

    • 在文本输入框里显示小图片作为表情使用
    		 // 1、显示图片,通过富文本
    		 let attachment = NSTextAttachment()
    		 // 然后加载图片
    		 attachment.image = UIImage(contentsOfFile: emoticon.imagePath!)
    		 // 设置附件大小,稍微下移一点,图片比较答,而emoji比较小
    		 attachment.bounds = CGRect(x: 0, y: -4,  20, height: 20)
    		 // 2、根据附件创建属性字符串
    		 let imageText = NSAttributedString(attachment: attachment)
    		 // 3、拿到当前的所有字符串内容
    		 let strM = NSMutableAttributedString(attributedString: self.textView.attributedText)
    		 // 4.插入表情到当前光标所在的位置
    		 let range = self.textView.selectedRange
    		 strM.replaceCharactersInRange(range,withAttributedString: imageText)
    		 // 设置附件尺寸
    		 strM.addAttribute(NSFontAttributeName,value: UIFont.systemFontOfSize(19),range: NSMakeRange(range.location, 1))
    		 // 5、重新赋值
    		 self.textView.attributedText = strM
    		 // 设置光标位置
    		 self.textView.selectedRange = NSMakeRange(range.location  + 1, 0)
    

    总结一下表情键盘

    • 首先一个UIViewController,然后子控件有两个collectionVeiwtoolbar
    • collectionVeiw 用来显示不同的表情组,toolbar用来指示不同的表情组
    • 然后定义模型保存表情数据 EmoticonPackage 根据plist文件定义字段
    • 每一页显示固定数量的表情,最后一个cell添加一个删除按钮
    • 最后将图片表情以富文本的附件NSTextAttachment形式插入到文本中
  • 相关阅读:
    oracle的row_number()和rownum
    linux视频学习6(mysql的安装/)
    linux视频学习5(top, 网络监控
    linux视频学习4(crontab和进程)
    linux的视频学习4(网络配置和rpm)
    linux视频学习3(shell和网络)
    linux视频学习3(linux安装,shell,tcp/ip协议,网络配置)
    linux(视频学习)2
    linux视频学习(简单介绍)20160405
    java代码用dom4j解析xml文件的简单操作
  • 原文地址:https://www.cnblogs.com/songliquan/p/12784415.html
Copyright © 2011-2022 走看看