<commit_before>##仿微信聊天输入框

-----
XMChatBar是一个仿微信的输入框,可以输入文字,表情,选择图片,地理位置发送


------

#### 重要提示
有几个兄弟在使用过程中碰到chatBar不显示,或者位置错乱的问题,是因为使用了IQKeyboardManager这个类库,这个会有一定冲突


####1. 截图

![](http://7xlt1j.com1.z0.glb.clouddn.com/XMChatBarScreenShot_3.gif)

![](http://7xlt1j.com1.z0.glb.clouddn.com/XMChatBarScreenShot_1.png)


![](http://7xlt1j.com1.z0.glb.clouddn.com/XMChatBarScreenShot_2.png)


####2. 相关类说明,介绍

你可以实例化一个XMChatBar 添加到你想要的View上,参考demo中实例即可,pod工程github没有上传,你可以下载demo后 执行`pod install` 或者 `pod install --verbose --no-repo-update`安装即可

--------
[Controllers类名] | 作用
----- | -----
XMLocationController  | 选择地理位置的controller

[Helpers类名] | 作用
----- | -----
XMNAVAudioPlayer | 录音播放工具,可以播放录音,停止播放录音
XMFaceManager  | 表情管理,可以获取所有的表情名称,以及对应图片名

[Views类名]() | 作用
----- | -----
[XMChatBar] | 聊天输入框
[XMChatMoreView] | 更多view,用来显示选择图片,拍照等按钮
[XMChatFaceView] | 显示表情view,用来选择表情
[XMChatMoreItem] | moreView的itemView
[XMProgressHUD]  | 录音HUD


####3. 使用到的第三方类库

第三方库 | 说明
----- | -----
[PonyChatUI](https://github.com/PonyGroup/PonyChatUIV2) | 一个很好的聊天界面布局,作者还未完成,期待作者的更多功能
VoiceLib | 一款第三方录音类库,使用方便
[Masonry](https://github.com/SnapKit/Masonry) | 第三方的代码自动布局
[SwipeView](https://github.com/nicklockwood/SwipeView)  | nicklockwood大神的

####4. 感谢
感谢[UUChatTableView](https://github.com/ZhipingYang/UUChatTableView),[PonyChatUI](https://github.com/PonyGroup/PonyChatUIV2)  这是一个学习过程中写的,如果有什么问题,可以[问我](https://github.com/ws00801526/XMChatBarExample/issues),或者发送我的邮箱<EMAIL>
本示例中用到的图片来自QQ,微信,请尊重版权


####5. 更新


#####V1.3.0

1. 重写了XMNChatMessageCell
2. 使用了ViewModel管理数据,简化了CHatViewController
3. 重写了XMVAudioPlayer,修复了之前版本有语音Cell 导致的问题  -- 增加了简单的本地文件缓存,可以将网络MP3缓存至本地
4. 使用了maskView 解决背景问题,所以目前只支持8.0以上版本


#####V1.2.2
1. 修复一个头像拉伸的bug
2. 增加了一个ChatListController ,demo测试,可以让大家参考下
3. ChatViewController 分成了XMChatTypeSingle,XMChatTypeGroup两种,默认XMChatTypeSingle

#####V1.2.1
增加pod使用方法
pod XMChatBar

#####V1.1
1. 去除了PonyChatUI的依赖,因为该类库依赖于AsyncDisplayKit,本人不太熟悉,所以重新参照PonyChatUI重新写了个ChatViewController<commit_msg>更新README更新说明<commit_after>##仿微信聊天输入框

-----
XMChatBar是一个仿微信的输入框,可以输入文字,表情,选择图片,地理位置发送


------

#### 重要提示
有几个兄弟在使用过程中碰到chatBar不显示,或者位置错乱的问题,是因为使用了IQKeyboardManager这个类库,这个会有一定冲突


####1. 截图

![](http://7xlt1j.com1.z0.glb.clouddn.com/XMChatBarScreenShot_3.gif)

![](http://7xlt1j.com1.z0.glb.clouddn.com/XMChatBarScreenShot_1.png)


![](http://7xlt1j.com1.z0.glb.clouddn.com/XMChatBarScreenShot_2.png)


####2. 相关类说明,介绍

你可以实例化一个XMChatBar 添加到你想要的View上,参考demo中实例即可,pod工程github没有上传,你可以下载demo后 执行`pod install` 或者 `pod install --verbose --no-repo-update`安装即可

--------
[Controllers类名] | 作用
----- | -----
XMLocationController  | 选择地理位置的controller

[Helpers类名] | 作用
----- | -----
XMNAVAudioPlayer | 录音播放工具,可以播放录音,停止播放录音
XMFaceManager  | 表情管理,可以获取所有的表情名称,以及对应图片名

[Views类名]() | 作用
----- | -----
[XMChatBar] | 聊天输入框
[XMChatMoreView] | 更多view,用来显示选择图片,拍照等按钮
[XMChatFaceView] | 显示表情view,用来选择表情
[XMChatMoreItem] | moreView的itemView
[XMProgressHUD]  | 录音HUD


####3. 使用到的第三方类库

第三方库 | 说明
----- | -----
[PonyChatUI](https://github.com/PonyGroup/PonyChatUIV2) | 一个很好的聊天界面布局,作者还未完成,期待作者的更多功能
VoiceLib | 一款第三方录音类库,使用方便
[Masonry](https://github.com/SnapKit/Masonry) | 第三方的代码自动布局
[SwipeView](https://github.com/nicklockwood/SwipeView)  | nicklockwood大神的

####4. 感谢
感谢[UUChatTableView](https://github.com/ZhipingYang/UUChatTableView),[PonyChatUI](https://github.com/PonyGroup/PonyChatUIV2)  这是一个学习过程中写的,如果有什么问题,可以[问我](https://github.com/ws00801526/XMChatBarExample/issues),或者发送我的邮箱<EMAIL>
本示例中用到的图片来自QQ,微信,请尊重版权


####5. 更新


#####V1.3.0 -> 强烈推荐更新至1.3.0  非常抱歉之前版本有不少bug

1. 重写了XMNChatMessageCell
2. 使用了ViewModel管理数据,简化了CHatViewController
3. 重写了XMVAudioPlayer,修复了之前版本有语音Cell 导致的问题  -- 增加了简单的本地文件缓存,可以将网络MP3缓存至本地


#####V1.2.2
1. 修复一个头像拉伸的bug
2. 增加了一个ChatListController ,demo测试,可以让大家参考下
3. ChatViewController 分成了XMChatTypeSingle,XMChatTypeGroup两种,默认XMChatTypeSingle

#####V1.2.1
增加pod使用方法
pod XMChatBar

#####V1.1
1. 去除了PonyChatUI的依赖,因为该类库依赖于AsyncDisplayKit,本人不太熟悉,所以重新参照PonyChatUI重新写了个ChatViewController
{'fraction_non_alphanumeric': 0.1640625, 'fraction_numerical': 0.02620967741935484, 'mean_word_length': 5.538714991762768, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 6, 'https://': 12, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5719582', 'n_tokens_mistral': 2384, 'n_tokens_neox': 2555, 'n_words': 176}