表情键盘

项目中需要一个表情键盘,于是网上找资料,缝缝补补装成了自己所需要的。效果如下:

主要是模仿微信聊天的键盘制作的,只是功能没那么全面,其实只要框架搭建好了,后面再增加功能会相对容易。

github地址:https://github.com/zhangmaliang/FaceKeyboardView

下面对过程中碰到的问题做点记录:

1、通知的不便。网上找的表情键盘采用通知的形式传递信息,当界面有几层,如A push到B,B push到C,当他们都采用这个键盘时,信息传递混乱,采用block专一方便。

2、切换系统键盘和自定义表情键盘时,需要先退下系统键盘,再弹出自己的键盘才能生效,如下

3、文本内容变化时,根据文字长度是否换行等,重新布局页面。计算textView的文字高度时,由于控件内部设置原因,限制宽度需要增加额外的8个点像素

4、项目中多处用到了该键盘,针对需要制作的接口如下:

时间: 2024-10-31 01:21:19

表情键盘的相关文章

iOS_仿QQ表情键盘

当UITextFiled和UITextView这种文本输入类控件成为第一响应者时,弹出的键盘由他们的一个UIView类的inputView属性来控制,当inputView为nil时会弹出系统的键盘,想要弹出自定义的键盘,将我们自定义的UIView对象给inputView属性赋值即可.表情键盘重点在于排列各个表情和删除键,以及表情键盘上的各种回调设置: 下面为键盘预览图,兼容了竖屏各版本适配,横屏没有兼顾.横屏适配参见这篇博客iOS之自定义表情键盘 图1为6的常用表情,图2为6的全部表情,图3为5

iOS开发之自定义表情键盘(组件封装与自动布局)

下面的东西是编写自定义的表情键盘,话不多说,开门见山吧!下面主要用到的知识有MVC, iOS开发中的自动布局,自定义组件的封装与使用,Block回调,CoreData的使用.有的小伙伴可能会问写一个自定义表情键盘肿么这么麻烦?下面将会介绍我们如何用上面提到的东西来定义我们的表情键盘的.下面的内容会比较多,这篇博文还是比较有料的. 还是那句话写技术博客是少不了代码的,下面会结合代码来回顾一下iOS的知识,本篇博文中用到的知识点在前面的博客中都能找到相应的内容,本篇算是一个小小的功能整合.先来张图看

浅析微博编辑页面的表情键盘

当下发状态和发评论已经渐渐成为不少软件的必备功能,这两者功能基本类似.但是有普通编辑和高级编辑之分,普通的评论只能发文本,一旦可以发送表情(非emoji表情)就需要用到图文混排.并且系统只能提供emoji表情,要用到其他自定义表情需要自行添加表情键盘. 因为表情键盘和图文混排写在一起太长了分为两期.本期以新浪微博的发微博页面为例,整理添加表情键盘的步骤,下期会总结自己在编写图文混排中遇到的种种问题和解决方案.基本的页面类似于这样,有部分细节没做不过也无关大雅了.编写的语言用的是swift 如果你

ios开发之--仿(微信)自定义表情键盘

先附上demo:https://github.com/hgl753951/CusEmoji.git 效果图如下: 先说下具体的实现功能: 1,本地加载了一些H5的代码,直接使用webview的load方法加载出来的 2,获取web的动态高度,然后创建tableview,把webview加到一个tableview的headerview上, 3,实现cell的自定义高度,是用xib实现的 4,评论功能的实现,自定表情键盘,可以发送表情,文字等相关信息 这个demo里面有2个效果,第一个是我自己写的很

新浪微博客户端(41)-切换表情键盘

DJComposeViewController.m #pragma mark - 切换键盘 - (void)switchKeyboard { // textView.inputView 代表的就是键盘 if (self.textView.inputView) { // 默认self.textView.inputView = nil, 为nil则代表默认为系统键盘 self.textView.inputView = nil; } else { DJEmotionKeyboard *emotionK

接近完美禁用iOS的emoji表情键盘

支持iOS搜狗输入法和自动关联表情(如输入hehe,出来的表情) 注意:Swift的textView.text != disable_emoji(textView.text) 在OC里面用 ![xxx isEqualString:bbb] 转帖保留(谢谢):http://www.cnblogs.com/Leetvin/p/4384141.html @IBOutlet weak var tf: UITextField! override func viewDidLoad() { super.vie

新浪微博客户端(48)-添加删除按钮到表情键盘

DJEmotionPageView.m - (instancetype)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { UIButton *deleteBtn = [[UIButton alloc] init]; [deleteBtn setImage:[UIImage imageNamed:@"compose_emotion_delete"] forState:UIContro

新浪微博客户端(42)-完善表情键盘的工具条

DJEmotionTabBar.m // // DJEmotionTabBar.m // 微博 // // Created by 海月高 on 16/11/26. // Copyright ? 2016年 yongdaimi. All rights reserved. // #import "DJEmotionTabBar.h" #import "DJEmotionTabBarButton.h" @interface DJEmotionTabBar() @prope

自定制emoji替换系统的emoji键盘

一.关于emoji表情 随着iOS系统版本的升级,对原生emoji表情的支持也越来越丰富.emoji表情是unicode码中为表情符号设计的一组编码,当然,还有独立于unicode的另一套编码SBUnicode,在OS系统中,这两种编码都有很好的支持.UI系统会自动帮我们将编码转义成表情符号,例如用SBUnicode如下代码: UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];    l