• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

swift3.0自定义键盘

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

...绕了一大圈,又绕回原生来了,今天,学习一下swift3.0语法下的自定义键盘.效果图如下:

其实,很简单,只需要把UITextView(或者UITextField)的inputView属性设置为自定义的视图即可.

这里,我举一个栗子,添加一个自定义的emoji键盘.

思路:a.先来一个UIViewController,用来承载一个ToolBar(只是为了放几个按钮,切换系统键盘和自定义键盘)

       b.在该UIViewController上面放一个UITextView即可.更改inputView属性.

       c.新建一个UIViewController作为自定义键盘的界面承载.其上放一个UICollectionView布局自定义键盘界面

1:完成a.b两步,比如把UITextView.inputView = UIViewController().view 效果会如下:

 

 

2.OK,接下来我找了个emoji.plist文件用来存放emoji表情数据,写了一个model存放表情数据使用,然后在collectionView上显示即可.

其中,重点是如何显示emoji表情,大致如下:

        code = dict["code"] as! String?  //emoji.plist中的code
        //1.从字符串中取出十六进制的数
        //创建一个扫描器,扫描器可以从字符串中提取数据
        let sanner =  Scanner.init(string: code!)
        //2.将十六进制转为字符串
        var result:UInt32 = 0
        sanner.scanHexInt32(&result)
        //3.将十六进制转换为emoji字符串
        emojiStr = "\(Character.init(UnicodeScalar.init(result)!))"

其实就是使用Scanner扫描转换emoji表情为系统可识别的字符串即可,其实,emoji本质就是一些String.

3.使用MVC在collectionView上显示出表情之后,可以通过闭包回调把选择的表情回调至承载UITextView的控制器中即可.

基本思路就是这么简单.  demo在 https://github.com/pheromone/swift3.0-emojiKeyboard  

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
swift基于SDK8.0获取当前时间发布时间:2022-07-13
下一篇:
Python的四个挑战者:Swift、Go、Julia、R发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap