1.将键盘划分三块 > 整体 > 表情 > 下面的toolbar, 整体里面装有 表情/toolbar
2.toolbar内部封装四个按钮,位置在- (void)layoutSubviews方法中计算好,提供给外部一个枚举,将button的tag值赋值给枚举,外部根据枚举类型判断点击那个按钮
3.toolbar有代理,根据代理 设置具体的按钮点击实现。
4.toolbar 可以切换不同的表情键盘,可以使用一个底层contentview 来装表情view,有四个表情界面,在点击不同的toolbar创建时,使用懒加载方法,切换不同的表情键盘。表情键盘的frame 可以在创建的时候设置成底层view一样,也可以在- (void)layoutSubviews 拿出点击的键盘,[self.view。subviews lasobject]; 设置frame 。在点击后 重写调用[self setNeedsLayout]方法 重新计算contentview内部的子控件的frame。
5.封装一个控件时,尽量做到不暴漏自己内部控件给外部,只给外部调用自己内部控件的接口。
注意点:switch()循环中使用变量,要加大括号{};